#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; }