#include <cstdio>
#include <iostream>
#include <cmath>
using namespace std;

int farmerzy_m[21][21];
int farmerzy_g[21][21];
int farmerzy_indywid_r[100];
int farmerzy_indywid_c[100];
int farmerzy_indywid_g[100];
int farmerzy_indywid_stat[100]; //0-zbiera 1-wraca 2-idzie do wskazanej kolumny 3-nic nie robi - czeka na koniec (tmp)
int farmerzy_indywid_zwrot[100]; //0-dol 1-gora
int farmerzy_indywid_kolumna[100]; //ktora kolumna jest mu przypisana do pracowania
int kolumny[21]; //w ktorej kolumnie odbywają się prace 0-nikt nie był 1-przypisany farmer 2-skonczona
int powrot[21];
//int tanks[21][21];
int plansza[21][21];


int main()
{
	int T;
	int k;
	int n;

	int gold=200;
    int farmer=0;
    //int tank=0;
    int gold_plansza=0;
    int gold_farmerzy=0;
    int zebrane;
    int r;
    int c;
    int kierunek;
    int wolna_sciezka_powrotu_r0=0;
    int ile_kolumn=0;
    int ile_czeka=0;
    int misja_konc;

    int liczba_komend=0;
    int tury=0;

	scanf("%d %d",&T,&k);
	for(int przyp=0;przyp<T;przyp++)
	{
	    scanf("%d",&n);
        gold=200;
        farmer=0;
        gold_plansza=0;
        gold_farmerzy=0;
        wolna_sciezka_powrotu_r0=0;
        ile_kolumn=0;
        ile_czeka=0;
        misja_konc=0;

		for(int i=0;i<n;i++)
		{
		    kolumny[i]=0;
		    powrot[i]=0;
			for(int j=0;j<n;j++)
			{
				farmerzy_m[i][j]=0;
				farmerzy_g[i][j]=0;
				//tanks[i][j]=-1;
			}
		}

		for(int i=0;i<100;i++)
		{
			farmerzy_indywid_r[i]=0;
 			farmerzy_indywid_c[i]=0;
			farmerzy_indywid_g[i]=0;
			farmerzy_indywid_kolumna[i]=0;
			farmerzy_indywid_stat[i]=0;
			farmerzy_indywid_zwrot[i]=0;

		}

		for(int i=0;i<n;i++)
		{
			for(int j=0;j<n;j++)
			{
				scanf("%d",&plansza[i][j]);
				gold_plansza+=plansza[i][j];
			}
		}

		printf("R FARMER\n");
		printf("M 0 0 1 0\n");
		gold-=100;
		farmer++;
		zebrane=min(plansza[1][0],10);
		farmerzy_m[1][0]=1;
		farmerzy_g[1][0]+=zebrane;
		gold_plansza-=zebrane;
		gold_farmerzy+=zebrane;
		plansza[1][0]-=zebrane;
		farmerzy_indywid_r[0]=1;
		farmerzy_indywid_c[0]=0;
		farmerzy_indywid_g[0]+=zebrane;
		farmerzy_indywid_kolumna[0]=0;
		kolumny[0]=1;
		ile_kolumn++;
		liczba_komend++;

		printf("R FARMER\n");
		printf("M 0 0 0 1\n");
		gold-=100;
		farmer++;
		zebrane=min(plansza[0][1],10);
		farmerzy_m[0][1]=1;
		farmerzy_g[0][1]+=zebrane;
		gold_plansza-=zebrane;
		gold_farmerzy+=zebrane;
		plansza[0][1]-=zebrane;
		farmerzy_indywid_r[1]=0;
		farmerzy_indywid_c[1]=1;
		farmerzy_indywid_g[1]+=zebrane;
		farmerzy_indywid_kolumna[1]=1;
		kolumny[1]=1;
		ile_kolumn++;
		liczba_komend++;

		printf("=\n");

		for(int a=0;;a++)
		{

			if(gold_plansza+gold_farmerzy==0)
			{
					printf("===\n");
					//tury+=a+1;
					//printf("Tury lacznie: %d\n",tury);
					//printf("Liczba komend: %d\n",liczba_komend);
					break;
			}

			//ruchy farmerów
			for(int i=0;i<farmer;i++)
			{
				/*if(gold_plansza==0) // farmerzy_indywid_g[i]>=100
				{
					farmerzy_indywid_stat[i]=1;
					printf("Wracam\n");
				}*/
				r=farmerzy_indywid_r[i];
				c=farmerzy_indywid_c[i];
				kierunek=farmerzy_indywid_zwrot[i];

                if(farmerzy_indywid_g[i]>=100 && ile_kolumn<n && i<5)
                {
                    farmerzy_indywid_stat[i]=1;
                    powrot[farmerzy_indywid_kolumna[i]]=1;
                }

				if(farmerzy_indywid_stat[i]==0) //jesli farmer zbiera
				{

					if(plansza[r][c]==0) //i na jego polu nie ma juz zlota
					{
						if(r==n-1) // jesli doszedl do ostatniego wiersza
						{
							if(farmerzy_indywid_g[i]!=0)
							{
								farmerzy_indywid_stat[i]=1;
								//printf("Wracam\n");
							}else{
								farmerzy_indywid_stat[i]=3;
								ile_czeka++;
								//printf("Czekam\n");
							}
						}
						else{ //jesli jest w drodze dalej
							if(kierunek==0) //jak idzie w dol
							{
								if(farmerzy_m[r+1][c]==0) //jesli moze zejsc w dol
								{
									farmerzy_g[r][c]=0;
									farmerzy_m[r][c]=0;
									printf("M %d %d %d %d\n",r,c,r+1,c);
									liczba_komend++;
									r++;
									farmerzy_m[r][c]=1;
									farmerzy_g[r][c]=farmerzy_indywid_g[i];
									farmerzy_indywid_r[i]=r;
									farmerzy_indywid_c[i]=c;
								}
							}
						}

					}else{
					     //na polu dalej jest zloto
						zebrane=min(plansza[r][c],10);
						farmerzy_g[r][c]+=zebrane;
						gold_plansza-=zebrane;
						gold_farmerzy+=zebrane;
						plansza[r][c]-=zebrane;
						farmerzy_indywid_g[i]+=zebrane;

					}

				}
				if(farmerzy_indywid_stat[i]==1) //jesli wraca
				{
				    if(ile_czeka==farmer-1)
                    {
                        misja_konc=1;
                        //getchar();
                        //printf("Koncowka\n");
                    }

					if(r==0)//jesli jest w dobrym wierszu
					{
						//chcemy isc w lewo do bazy
						if(c>0)//jesli to jeszcze nie baza
						{
							if(farmerzy_m[r][c-1]==0 && misja_konc==0)//jesli moze isc w lewo to idziemy
							{
								farmerzy_g[r][c]=0;
								farmerzy_m[r][c]=0;
								printf("M %d %d %d %d\n",r,c,r,c-1);
								liczba_komend++;
								c--;
								farmerzy_m[r][c]=1;
								farmerzy_g[r][c]=farmerzy_indywid_g[i];
								farmerzy_indywid_r[i]=r;
								farmerzy_indywid_c[i]=c;

								zebrane=min(plansza[r][c],10); //tam gdzie dotarlismy zbieramy zloto
                                farmerzy_g[r][c]+=zebrane;
                                gold_plansza-=zebrane;
                                gold_farmerzy+=zebrane;
                                plansza[r][c]-=zebrane;
                                farmerzy_indywid_g[i]+=zebrane;
							}
							if(misja_konc==1)
                            {
                                if(farmerzy_m[r][c-1]==0 && plansza[r][c]==0) //i na jego polu nie ma juz zlota i obok jest ok
                                {
                                    farmerzy_g[r][c]=0;
                                    farmerzy_m[r][c]=0;
                                    printf("M %d %d %d %d\n",r,c,r,c-1);
                                    liczba_komend++;
                                    c--;
                                    farmerzy_m[r][c]=1;
                                    farmerzy_g[r][c]=farmerzy_indywid_g[i];
                                    farmerzy_indywid_r[i]=r;
                                    farmerzy_indywid_c[i]=c;

                                    zebrane=min(plansza[r][c],10); //tam gdzie dotarlismy zbieramy zloto
                                    farmerzy_g[r][c]+=zebrane;
                                    gold_plansza-=zebrane;
                                    gold_farmerzy+=zebrane;
                                    plansza[r][c]-=zebrane;
                                    farmerzy_indywid_g[i]+=zebrane;
                                }else{

                                    zebrane=min(plansza[r][c],10); //tam gdzie dotarlismy zbieramy zloto
                                    farmerzy_g[r][c]+=zebrane;
                                    gold_plansza-=zebrane;
                                    gold_farmerzy+=zebrane;
                                    plansza[r][c]-=zebrane;
                                    farmerzy_indywid_g[i]+=zebrane;

                                }
                            }
						}else if(c==0) //baza
						{
							gold+=farmerzy_indywid_g[i];
							gold_farmerzy-=farmerzy_indywid_g[i];
							farmerzy_indywid_g[i]=0;
							farmerzy_g[0][0]=0;
							if(powrot[farmerzy_indywid_kolumna[i]]==0) //jesli skoncyzl kolumne
                            {
                                kolumny[farmerzy_indywid_kolumna[i]]=2;
                                //sprawdzamy kolumne o najmniejszej liczbie gdzie nikogo nie ma
                                for(int w=0;w<n;w++)
                                {
                                    if(kolumny[w]==0)
                                    {
                                        farmerzy_indywid_kolumna[i]=w;
                                        kolumny[w]=1;
                                        ile_kolumn++;
                                        break;
                                    }
                                }
                            }else{ //jesli wracal by kupic
                                powrot[farmerzy_indywid_kolumna[i]]=0;
                            }

							//idziemy do przypisanej kolumny - tam gdzie teraz ma byc praca
							farmerzy_indywid_stat[i]=2;
						}
					}else{ //jesli to nie dobry wiersz
						if(r==1) //jesli jestesmy wiersz od pierwszego
						{
							wolna_sciezka_powrotu_r0=0;
							for(int g=0;g<n;g++) //sprawdzamy czy pierwszy wiersz jest wolny
							{
								if(farmerzy_m[0][g]==1)
								{
									wolna_sciezka_powrotu_r0=1; //sciezka zajeta nie wchodzimy
								}
							}
							if(wolna_sciezka_powrotu_r0==0) //jesli sciezka wolna wchodzimy
							{
								farmerzy_g[r][c]=0;
								farmerzy_m[r][c]=0;
								printf("M %d %d %d %d\n",r,c,r-1,c);
								liczba_komend++;
								r--;
								farmerzy_m[r][c]=1;
								farmerzy_g[r][c]=farmerzy_indywid_g[i];
								farmerzy_indywid_r[i]=r;
								farmerzy_indywid_c[i]=c;

								zebrane=min(plansza[r][c],10); //tam gdzie dotarlismy zbieramy zloto
                                farmerzy_g[r][c]+=zebrane;
                                gold_plansza-=zebrane;
                                gold_farmerzy+=zebrane;
                                plansza[r][c]-=zebrane;
                                farmerzy_indywid_g[i]+=zebrane;
							}
						}else{ //jesli jestesmy dalej to idziemy w gore
							if(farmerzy_m[r+1][c]==0) //jesli moze isc w gore
							{
								farmerzy_g[r][c]=0;
								farmerzy_m[r][c]=0;
								printf("M %d %d %d %d\n",r,c,r-1,c);
								liczba_komend++;
								r--;
								farmerzy_m[r][c]=1;
								farmerzy_g[r][c]=farmerzy_indywid_g[i];
								farmerzy_indywid_r[i]=r;
								farmerzy_indywid_c[i]=c;

								zebrane=min(plansza[r][c],10); //tam gdzie dotarlismy zbieramy zloto
                                farmerzy_g[r][c]+=zebrane;
                                gold_plansza-=zebrane;
                                gold_farmerzy+=zebrane;
                                plansza[r][c]-=zebrane;
                                farmerzy_indywid_g[i]+=zebrane;
							}
						}
					}

				}else if(farmerzy_indywid_stat[i]==2) //else zeby jednoczesnie nie przyszedl i poszedl
				{
					//idziemy w prawo az do nowej przypisanej nam kolumny
					//jesli mozemy (poki co sprawdzamy, potem juz raczej nie bede)
					if(c!=farmerzy_indywid_kolumna[i]) //jesli to jeszcze nie ta kolumna
					{
						if(farmerzy_m[r][c+1]==0) //jesli moze isc w prawo
						{
							farmerzy_g[r][c]=0;
							farmerzy_m[r][c]=0;
							printf("M %d %d %d %d\n",r,c,r,c+1);
							liczba_komend++;
							c++;
							farmerzy_m[r][c]=1;
							farmerzy_g[r][c]=farmerzy_indywid_g[i];
							farmerzy_indywid_r[i]=r;
							farmerzy_indywid_c[i]=c;

							zebrane=min(plansza[r][c],10); //tam gdzie dotarlismy zbieramy zloto
                            farmerzy_g[r][c]+=zebrane;
                            gold_plansza-=zebrane;
                            gold_farmerzy+=zebrane;
                            plansza[r][c]-=zebrane;
                            farmerzy_indywid_g[i]+=zebrane;

						}
						//cout<<"Probuje isc w prawo"<<endl;
					}else{ //jestesmy we wlasciwej kolumnie to idziemy w dol
						if(farmerzy_m[r+1][c]==0) //jesli moze isc w dol
						{
							farmerzy_g[r][c]=0;
							farmerzy_m[r][c]=0;
							printf("M %d %d %d %d\n",r,c,r+1,c);
							liczba_komend++;
							r++;
							farmerzy_m[r][c]=1;
							farmerzy_g[r][c]=farmerzy_indywid_g[i];
							farmerzy_indywid_r[i]=r;
							farmerzy_indywid_c[i]=c;
							farmerzy_indywid_stat[i]=0; //zacznij zbierac

							zebrane=min(plansza[r][c],10); //tam gdzie dotarlismy zbieramy zloto
                            farmerzy_g[r][c]+=zebrane;
                            gold_plansza-=zebrane;
                            gold_farmerzy+=zebrane;
                            plansza[r][c]-=zebrane;
                            farmerzy_indywid_g[i]+=zebrane;
						}
					}

				}

			}
			//baza - kupowanie nowych farmerów
            if(gold>=100 && ile_kolumn<n)
            {
                wolna_sciezka_powrotu_r0=0;
                for(int g=0;g<n;g++) //sprawdzamy czy pierwszy wiersz jest wolny
                {
                    if(farmerzy_m[0][g]==1)
                    {
                        wolna_sciezka_powrotu_r0=1; //sciezka zajeta nie wchodzimy
                    }
                }
                if(wolna_sciezka_powrotu_r0==0) //jesli sciezka wolna wchodzimy
                {

                    printf("R FARMER\n");
                    printf("M 0 0 0 1\n");
                    liczba_komend++;
                    liczba_komend++;
                    gold-=100;
                    zebrane=min(plansza[0][1],10);
                    farmerzy_m[0][1]=1;
                    farmerzy_g[0][1]+=zebrane;
                    gold_plansza-=zebrane;
                    gold_farmerzy+=zebrane;
                    plansza[0][1]-=zebrane;
                    farmerzy_indywid_r[farmer]=0;
                    farmerzy_indywid_c[farmer]=1;
                    farmerzy_indywid_g[farmer]+=zebrane;
                    //sprawdzamy kolumne o najmniejszej liczbie gdzie nikogo nie ma
                    for(int w=0;w<n;w++)
                    {
                        if(kolumny[w]==0)
                        {
                            farmerzy_indywid_kolumna[farmer]=w;
                            kolumny[w]=1;
                            ile_kolumn++;
                            break;
                        }
                    }
                    //idziemy do przypisanej kolumny - tam gdzie teraz ma byc praca
                    farmerzy_indywid_stat[farmer]=2;
                    farmer++;
                }


            }
			//getchar();

			/*for(int i=0;i<n;i++)
			{
				for(int j=0;j<n;j++)
				{
					printf("%d ",plansza[i][j]);
					//tanks[i][j]=-1;
				}
				printf("\n");
			}
			printf("\n");

			for(int i=0;i<n;i++)
			{
				for(int j=0;j<n;j++)
				{
					printf("%d ",farmerzy_m[i][j]);
					//tanks[i][j]=-1;
				}
				printf("\n");
			}
			printf("\n");

			for(int i=0;i<n;i++)
			{
				for(int j=0;j<n;j++)
				{
					printf("%d ",farmerzy_g[i][j]);
					//tanks[i][j]=-1;
				}
				printf("\n");
			}
			printf("\n");
            */
			/*for(int e=0;e<farmer;e++)//xD
			{
				printf("%d ",farmerzy_indywid_r[e]);
				printf("%d ",farmerzy_indywid_c[e]);
				printf("%d ",farmerzy_indywid_kolumna[e]);
				printf("%d ",farmerzy_indywid_stat[e]);
				printf("%d\n",farmerzy_indywid_g[e]);
			}*/
			//printf("%d\n",gold_plansza);
			//printf("%d\n",gold_farmerzy);
            //printf("%d\n",ile_kolumn);
            printf("=\n");

		}

	}

	return 0;
}
