#include<bits/stdc++.h>
using namespace std;
map<string,bool> feedback;
map<char,int> dire;
//           N ,S,W,E
int dx[4] = {-1,1,0,0};
int dy[4] = {0,0,-1,1};
char mp[500][500];
int xx = 500,yy = 500;//×óÉϽÇ
int xxx,yyy;//ÓÒÏÂ½Ç 
void dfs(int x,int y) {
	mp[x][y] = '.';
	for (int i = 0; i < 4; i++) {
		cout<<"LEFT\n";
		char di;
		cin>>di;
		int dir = dire[di];
		int nexx = x + dx[dir];
		int nexy = y + dy[dir];
		cout<<"GO\n";
		string s;
		cin>>s;
		bool flag = feedback[s];
		if (!flag) {
			mp[nexx][nexy] = '#';
			xx = min(xx,nexx);
			yy = min(yy,nexy);
			xxx = max(xxx,nexx);
			yyy = max(yyy,nexy);
		}
		else
			dfs(nexx,nexy);
	}
}
int main() {
	dire['N'] = 0;
	dire['S'] = 1;
	dire['W'] = 2;
	dire['E'] = 3;
	feedback["SUCC"] = 1;
	feedback["FAIL"] = 0;
	dfs(250,250);
	cout << "END" << endl;
	int n = xxx-xx+1,m = yyy-yy+1;
	cout << n << " " << m << endl;
	for (int i = xx; i <= xxx; i++) {
		for (int j = yy; j <= yyy; j++) {
			if (mp[i][j] == 0)
				mp[i][j] = '#';
			cout << mp[i][j];
		}
		cout << endl;
	}
	return 0;
}