#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef double db; #define f(i,a,b) for(int i=a;i<b;i++) #define f2(i,a,b) for(int i=a;i<=b;i++) const int dx[4]={-1,0,1,0}; const int dy[4]={0,1,0,-1}; map<string,int> m; string fb; char a[300][300]; void init(){ m["N"]=0; m["E"]=1; m["S"]=2; m["W"]=3; f(i,0,300) f(j,0,300) a[i][j]='0'; } void dfs(int fx,int x,int y){ a[x][y]='.'; f(i,0,4){ cout<<"GO\n"; cin>>fb; int t=(fx+i)%4; if(fb=="FAIL") a[x+dx[t]][y+dy[t]]='#'; else{ dfs(t,x+dx[t],y+dy[t]); cout<<"RIGHT\n"; cin>>fb; cout<<"RIGHT\n"; cin>>fb; cout<<"GO\n"; cin>>fb; cout<<"RIGHT\n"; cin>>fb; cout<<"RIGHT\n"; cin>>fb; } cout<<"RIGHT\n"; cin>>fb; } } int main(){ init(); fb=""; while(fb!="N"){ cout<<"RIGHT\n"; cin>>fb; } a[150][150]='.'; dfs(0,150,150); int r1=999,c1=999; int r2=-99,c2=-99; f2(i,1,150) f2(j,1,150) if(a[i][j]=='.') r1=min(r1,i),c1=min(c1,j),r2=max(r2,i),c2=max(c2,j); cout<<"END\n"; cout<<r2-r1+1<<" "<<c2-c1+1<<endl; f2(i,r1-1,r2+1){ f2(j,c1-1,c2+1){ if(a[i][j]=='.') cout<<'.'; else cout<<'#'; cout<<a[i][j]; } cout<<endl; } return 0; }