#include<bits/stdc++.h> using namespace std; long long k[1000][1000],k2[1000][1000],u,dx[]={0,1,0,-1},dy[]={1,0,-1,0},p,xm,xmi,ymi,ym,x,y; void dfs(int x2,int y2) { if(k[x2][y2]==2) { u=1; return; } for(int o=0;o<4;o++) { int x3=x2+dx[o],y3=y2+dy[o]; if(x3>1000 or y3>1000 or x3<1 or y3<1) return ; if(k2[x3][y3]==p) return; dfs(x3,y3); if(u==1) return ; } } int main() { while(1) { cout<<"LEFT"<<endl; char s,d[9]; cin>>s; cout<<"GO"<<endl; cin>>d; if(d[0]=='F') { if(s=='E') k[y+500][x+1+500]=1; if(s=='W') k[y+500][x-1+500]=1; if(s=='S') k[y+500+1][500+x]=1; if(s=='N') k[y-1+500][x+500]=1; } else { if(s=='E') { k[y+500][x+1+500]=2; x++; } if(s=='W') { k[y+500][x-1+500]=2; x--; } if(s=='S') { k[y+500+1][500+x]=2; y++; } if(s=='N') { k[y-1+500][x+500]=2; y--; } } xm=max(xm,x); xmi=min(xmi,x); ym=max(y,ym); ymi=min(y,ymi); dfs(1,1); if(u) { for(int i=ymi;i<=ym;i++) { for(int i2=xmi;i2<=xm;i2++) cout<<k[i][i2]; } return 0; } p++; } }