#include <bits/stdc++.h>
using namespace std;

int dx[] = {-1, 1, 0, 0};
int dy[] = {0, 0, -1, 1};
vector<string> s(100, string(100, '#'));
bool calc(const bool *f){
	for(int i = 0;i < 4;i++){
		if(f[i] == false){
			return false;
		}
	}
	return true;
}
int main(){
	int cnt = 0;
	bool flag = true;
	int x = 50, y = 50, lx = 50, ly = 50, hx = 50, hy = 50, lmi = 0;
	int dir;
	s[x][y] = '.';
	int fd, fx = 50, fy = 50;
	string feedback;
	bool bf[4];
	while(true){
		bf[dir] = true;
		if(cnt == 0) cout<<"LEFT"<<endl;
		else{
			if(feedback != "FAIL"){
				cout<<"GO"<<endl;
				lmi++;
			}
			else cout<<"LEFT"<<endl;
		}
		if(cnt == 1){
			fd = dir;
		}
		cin>>feedback;
		cnt++;
		if(feedback == "N"){
			dir = 0;
		}else if(feedback == "S"){
			dir = 1;
		}else if(feedback == "W"){
			dir = 2;
		}else if(feedback == "E"){
			dir = 3;
		}
		if(feedback == "SUCC"){
			x += dx[dir], y += dy[dir];
			s[x][y] = '.';
			switch(dir){
				case 0:
					lx--;
					break;
				case 1:
					hx++;
					break;
				case 2:
					ly--;
					break;
				case 3:
					hy++;
					break;
				default:
					break;
			}
		}else if(feedback == "FAIL"){
			switch(dir){
				case 0:
					lx--;
					break;
				case 1:
					hx++;
					break;
				case 2:
					ly--;
					break;
				case 3:
					hy++;
					break;
				default:
					break;
			}
		}
		if(lmi >= 50000 || cnt >= 100000 || (dir == fd && x == fx && y == fy && calc(bf))){
			cout<<"END"<<endl;
			cout<<(hx - lx + 1)<<" "<<(hy - ly + 1)<<endl;
			for(int i = lx;i <= hx;i++){
				for(int j = ly;j <= hy;j++){
					cout<<s[i][j];
				}
				cout<<endl;
			}
			return 0;
		}
	}
	return 0;
}