#include<bits/stdc++.h>
using namespace std;
string s;
struct data
{
bool block,N,S,E,W;
}color[55][55];
int main()
{
int row,col,posX,posY,i,j,x;
char now;
bool lost,temp,store;
cin>>row>>col;
while(cin>>i>>j>>now)
{
cin>>s;
int len = s.length();
lost = false;
posX = i;
posY = j;
for(x=0; x<len; x++)
{
if(s[x]=='F')
{
if(now=='N')
{
temp = color[posX][posY].block;
store = color[posX][posY].N;
if(temp==true && store==true)
{
continue;
}
posY++;
if(temp==true && posY>col)
{
posY--;
continue;
}
if(posY>col)
{
lost = true;
posY--;
color[posX][posY].block = true;
color[posX][posY].N = true;
break;
}
}
else if(now=='S')
{
temp = color[posX][posY].block;
store = color[posX][posY].S;
if(temp==true && store==true)
{
continue;
}
posY--;
if(temp==true && posY<0)
{
posY++;
continue;
}
if(posY<0)
{
lost = true;
posY++;
color[posX][posY].block = true;
color[posX][posY].S = true;
break;
}
}
else if(now=='E')
{
temp = color[posX][posY].block;
store = color[posX][posY].E;
if(temp==true && store==true)
{
continue;
}
posX++;
if(temp==true && posX>row)
{
posX--;
continue;
}
if(posX>row)
{
lost = true;
posX--;
color[posX][posY].block = true;
color[posX][posY].E = true;
break;
}
}
else if(now=='W')
{
temp = color[posX][posY].block;
store = color[posX][posY].W;
if(temp==true && store==true)
{
continue;
}
posX--;
if(temp==true && posX<0)
{
posX++;
continue;
}
if(posX<0)
{
lost = true;
posX++;
color[posX][posY].block = true;
color[posX][posY].W = true;
break;
}
}
}
else if(s[x]=='L')
{
if(now=='N')
{
now = 'W';
}
else if(now=='S')
{
now = 'E';
}
else if(now=='E')
{
now = 'N';
}
else if(now=='W')
{
now = 'S';
}
}
else if(s[x]=='R')
{
if(now=='N')
{
now = 'E';
}
else if(now=='S')
{
now = 'W';
}
else if(now=='E')
{
now = 'S';
}
else if(now=='W')
{
now = 'N';
}
}
}
printf("%d %d %c",posX,posY,now);
if(lost==true)
{
printf(" LOST\n");
}
else
{
puts("");
}
}
return 0;
}