#include<bits/stdc++.h>
using namespace std;
int max_x=105,min_x=105,max_y=105,min_y=105,dx[5]={0,0,1,0,-1},dy[5]={0,1,0,-1,0},td;
string c;
vector<int> d;
int ans[210][210];
bool test(int x,int y,int d){
	cout<<"RIGHT\n";
	cin>>c;
	cout<<"GO\n";
	cin>>c;
	return (c=="SUCC");
}
void dfs(int x,int y,int d){
	max_x=max(max_x,x),min_x=min(min_x,x),max_y=max(max_y,y),min_y=min(min_y,y);
	for(int i=d+1;i<=4;i++){
		if(ans[x+dx[i]][y+dy[i]]==1){
			cout<<"RIGHT\n";
			cin>>c;
			continue;
		}
		if(test(x,y,i)){
			int nx=dx[i],ny=dy[i];
			ans[nx][ny]=1;
			dfs(nx,ny,i);
			for(int j=1;j<=2;j++){
				cout<<"RIGHT\n";
				cin>>c;
			}
			cout<<"GO\n";
			cin>>c;
			for(int j=1;j<=2;j++){
				cout<<"RIGHT\n";
				cin>>c;
			}
		}
	}
	for(int i=1;i<=d;i++){
		if(ans[x+dx[i]][y+dy[i]]==1){
			cout<<"RIGHT\n";
			cin>>c;
			continue;
		}
		if(test(x,y,i)){
			int nx=dx[i],ny=dy[i];
			ans[nx][ny]=1;
			dfs(nx,ny,i);
			for(int j=1;j<=2;j++){
				cout<<"RIGHT\n";
				cin>>c;
			}
			cout<<"GO\n";
			cin>>c;
			for(int j=1;j<=2;j++){
				cout<<"RIGHT\n";
				cin>>c;
			}
		}
	}
}
int main(){
	cout<<"RIGHT\n";
	cin>>c;
	if(c=="E")td=1;
	if(c=="S")td=2;
	if(c=="W")td=3;
	if(c=="N")td=4;
	ans[105][105]=1;
	dfs(105,105,td);
	for(int i=min_x-1;i<=min_x+1;i++){
		for(int j=min_y-1;j<=min_y+1;j++){
			if(ans[i][j]==1)cout<<".";
			else cout<<"#";
		}
		cout<<"\n";
	}
	return 0;
}