#include<bits/stdc++.h>
using namespace std;
int img[1000][1000];
int h[1000][1000];
int f=0;
int mx=500,my=500,ix=500,iy=500;
void dfs(int lx,int ly,int x,int y,int tf){
	string s;
	h[x][y]=1;
	if(!h[x-1][y]){
		if(f!=0){
			if(f==1){
				cout<<"LEFT\n";
				cin>>s;
				cout<<"LEFT\n";
				cin>>s;
			}
			else if(f==2){
				cout<<"RIGHT\n";
				cin>>s;
			}
			else if(f==3){
				cout<<"LEFT\n";
				cin>>s;
			}
		}
		cout<<"GO\n";
		cin>>s;
		if(s=="SUCC"){ //up
			ix=min(ix,x-1);
			f=0;
			img[x-1][y]=-1;
			dfs(x,y,x-1,y,1);
		}
	}
	if(!h[x][y-1]){
		if(f!=2){
			if(f==0){
				cout<<"LEFT\n";
				cin>>s;
			}
			if(f==1){
				cout<<"RIGHT\n";
				cin>>s;
			}
			if(f==3){
				cout<<"LEFT\n";
				cin>>s;
				cout<<"LEFT\n";
				cin>>s; 
			}
		}
		cout<<"GO\n";
		cin>>s;
		if(s=="SUCC"){
			iy=min(iy,y-1);
			f=2;
			img[x][y-1]=-1;
			dfs(x,y,x,y-1,3);
		}
	}
	if(!h[x+1][y]){
		if(f!=1){
			if(f==0){
				cout<<"LEFT\n";
				cin>>s;
				cout<<"LEFT\n";
				cin>>s;
			}
			if(f==2){
				cout<<"LEFT\n";
				cin>>s;
			}
			if(f==3){
				cout<<"RIGHT\n";
				cin>>s;
			}
		}
			cout<<"GO\n";
			cin>>s;
			if(s=="SUCC"){
				mx=max(x+1,mx);
				f=1;
				img[x+1][y]=-1;
				dfs(x,y,x+1,y,0);
			}
		
	}
	if(!h[x][y+1]){
		if(f!=3){
			if(f==0){
				cout<<"RIGHT\n";
				cin>>s;
			}
			if(f==1){
				cout<<"LEFT\n";
				cin>>s;
			}
			if(f==2){
				cout<<"LEFT\n";
				cin>>s;
				cout<<"LEFT\n";
				cin>>s;
			}
		}
		cout<<"GO\n";
		cin>>s;
		if(s=="SUCC"){
			my=max(y+1,my);
			f=3;
			img[x][y+1]=-1;
			dfs(x,y,x,y+1,2);
		}
	}
	if(tf==0){
		if(f==1){
			cout<<"LEFT\n";
			cin>>s;
			cout<<"LEFT\n";
			cin>>s;
		}
		else if(f==2){
			cout<<"RIGHT\n";
			cin>>s;
		}
		else if(f==3){
			cout<<"LEFT\n";
			cin>>s;
		}
		cout<<"GO\n";
		cin>>s;
	}
	if(tf==1){
		if(f==0){
				cout<<"LEFT\n";
				cin>>s;
				cout<<"LEFT\n";
				cin>>s;
			}
			if(f==2){
				cout<<"LEFT\n";
				cin>>s;
			}
			if(f==3){
				cout<<"RIGHT\n";
				cin>>s;
			}
			cout<<"GO\n";
		cin>>s;
	}
	if(tf==2){
			if(f==0){
				cout<<"LEFT\n";
				cin>>s;
			}
			if(f==1){
				cout<<"RIGHT\n";
				cin>>s;
			}
			if(f==3){
				cout<<"LEFT\n";
				cin>>s;
				cout<<"LEFT\n";
				cin>>s; 
			}	
			cout<<"GO\n";
		cin>>s;
	}else{
			if(f==0){
		
				cout<<"RIGHT\n";
				cin>>s;
			}
			if(f==1){
				cout<<"LEFT\n";
				cin>>s;
			}
			if(f==2){
				cout<<"LEFT\n";
				cin>>s;
				cout<<"LEFT\n";
				cin>>s;
			}
			cout<<"GO\n";
		cin>>s;		
	}
	if(lx==500&&ly==500&&x==500&&y==500){
		cout<<"END"<<endl;
		ix--;
		iy--;
		mx++;
		my++;
		cout<<mx-ix+1<<" "<<my-iy+1<<'\n';
		for(int i=ix;i<=mx;i++){
			for(int j=iy;j<=my;j++){
				if(img[i][j]==-1) cout<<'.';
				else cout<<'#';
			}
			cout<<'\n';
		}
	}
}
int main(){
	img[500][500]=-1;
	string s;
	cout<<"LEFT"<<endl;
	while(cin>>s,s!="N") cout<<"LEFT"<<endl; 
	dfs(500,500,500,500,0);
	return 0;
}