#include <bits/stdc++.h> using namespace std; #define endl '\n' typedef long long ll; typedef int ii; typedef char cc; typedef double dd; typedef string ss; typedef void vv; typedef long double ld; //0# 1. -1? ii a[1005][1005]; vv DFS(ii &x,ii &y,ii z){ if(z==0)return; if(a[x][y-1]==-1){ cout<<"LEFT"<<endl; cc an; while(cin>>an){ if(an=='N')break; cout<<"LEFT"<<endl; } cout<<"GO"<<endl; ss ans; cin>>ans; if(ans=="FAIL"){ a[x][y-1]=0; } else{ a[x][y-1]=1; } return; } if(a[x-1][y]==-1){ cout<<"LEFT"<<endl; cc an; while(cin>>an){ if(an=='W')break; cout<<"LEFT"<<endl; } cout<<"GO"<<endl; ss ans; cin>>ans; if(ans=="FAIL"){ a[x-1][y]=0; } else{ a[x-1][y]=1; } return; } if(a[x][y+1]==-1){ cout<<"LEFT"<<endl; cc an; while(cin>>an){ if(an=='S')break; cout<<"LEFT"<<endl; } cout<<"GO"<<endl; ss ans; cin>>ans; if(ans=="FAIL"){ a[x][y+1]=0; } else{ a[x][y+1]=1; } return; } if(a[x+1][y]==-1){ cout<<"LEFT"<<endl; cc an; while(cin>>an){ if(an=='E')break; cout<<"LEFT"<<endl; } cout<<"GO"<<endl; ss ans; cin>>ans; if(ans=="FAIL"){ a[x+1][y]=0; } else{ a[x+1][y]=1; } return; } cout<<"LEFT"<<endl; cout<<"LEFT"<<endl; cout<<"GO"<<endl; cout<<"LEFT"<<endl; cout<<"LEFT"<<endl; return; } ii main(){ //freopen(".in","r",stdin); //freopen(".out","w",stdout); ii x=500,y=500; a[x][y]=1; memset(a,-1,sizeof a); cout<<"END"<<endl; cout<<"###\n#.#\n###"; return 0; while(true){ DFS(x,y,1); } }