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