#include<bits/stdc++.h> #define ll long long using namespace std; char a[305][305]; bool v[305][305]; int cnt; string pre; bool bpre; int nowdis; int dx[] = {-1,0,1,0}; int dy[] = {0,1,0,-1}; string think(){ if(cnt == 0){ return "LEFT"; } if(pre == "LEFT"||pre == "RIGHT"){ return "GO"; } return ""; } int main() { ios::sync_with_stdio(false); cin.tie(0),cout.tie(0); int n = 1,m = 1; int x = 125,y = 125; memset(a,'#',sizeof(a)); a[125][125] = '.',v[125][125] = 1; bool all_explored = 0; while (true) { string feedback; string command = think(); cout << command << endl; cin >> feedback; if(feedback == "N"){ nowdis = 0; }else if(feedback == "E"){ nowdis = 1; }else if(feedback == "S"){ nowdis = 2; }else if(feedback == "W"){ nowdis = 3; }else if(feedback == "FAIL"){ a[x + dx[nowdis]][y + dy[nowdis]] = '#'; v[x + dx[nowdis]][y + dy[nowdis]] = 1; bpre = 0; }else if(feedback == "SUCC"){ x += dx[nowdis]; y += dy[nowdis]; a[x][y] = '.',v[x][y] = 1; bpre = 1; } pre = command; cnt++; if(cnt >= 30000){ all_explored = 1; } if (all_explored) { cout << "END" << endl; cout << n << " " << m << endl; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { cout << a[i][j]; } cout << '\n'; } break; } } return 0; }