#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;
}