#include <iostream>
using namespace std;
string in;
int t, x, y, wx, wy;
pair<int, int>poz;
pair<int, int>pion;
void podw()
{
if(in[0]=='N')
{
pion.first=wy;
}
else
{
pion.second=wy;
}
if(in[1]=='W')
{
poz.second=wx;
}
else
{
poz.first=wx;
}
}
void poj ()
{
if(in[0]=='N')
{
pion.first=wy;
}
else if (in[0]=='S')
{
pion.second=wy;
}
else if(in[0]=='W')
{
poz.second=wx;
}
else
{
poz.first=wx;
}
}
int main()
{
ios_base::sync_with_stdio(0);
cin>>t;
while(--t+1)
{
cin>>x>>y;
poz=make_pair(1, x);
pion=make_pair(1, y);
wx=(poz.second+1)/2;
wy=(pion.second+1)/2;
cout<<wx<<" "<<wy<<endl;
cin>>in;
if(in=="OK")
continue;
while(in!="OK")
{
if(in.length()==2)
podw();
else
poj();
wx=poz.second-((poz.second-poz.first+1)/2);
wy=pion.second-((pion.second-pion.first+1)/2);
cout<<wx<<" "<<wy<<endl;
cin>>in;
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnN0cmluZyBpbjsKaW50IHQsIHgsIHksIHd4LCB3eTsKcGFpcjxpbnQsIGludD5wb3o7CnBhaXI8aW50LCBpbnQ+cGlvbjsKCnZvaWQgcG9kdygpCnsKICBpZihpblswXT09J04nKQogIHsKICAgICAgcGlvbi5maXJzdD13eTsKICB9CiAgZWxzZQogIHsKICAgICAgcGlvbi5zZWNvbmQ9d3k7CiAgfQogIGlmKGluWzFdPT0nVycpCiAgewogICAgICBwb3ouc2Vjb25kPXd4OwogIH0KICBlbHNlCiAgewogICAgICBwb3ouZmlyc3Q9d3g7CiAgfQp9Cgp2b2lkIHBvaiAoKQp7CiAgIGlmKGluWzBdPT0nTicpCiAgewogICAgICBwaW9uLmZpcnN0PXd5OwogIH0KICBlbHNlIGlmIChpblswXT09J1MnKQogIHsKICAgICAgcGlvbi5zZWNvbmQ9d3k7CiAgfQogIGVsc2UgaWYoaW5bMF09PSdXJykKICB7CiAgICAgIHBvei5zZWNvbmQ9d3g7CiAgfQogIGVsc2UKICB7CiAgICAgIHBvei5maXJzdD13eDsKICB9Cn0KCmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbj4+dDsKICAgIHdoaWxlKC0tdCsxKQogICAgewogICAgICAgIGNpbj4+eD4+eTsKICAgICAgICBwb3o9bWFrZV9wYWlyKDEsIHgpOwogICAgICAgIHBpb249bWFrZV9wYWlyKDEsIHkpOwogICAgICAgIHd4PShwb3ouc2Vjb25kKzEpLzI7CiAgICAgICAgd3k9KHBpb24uc2Vjb25kKzEpLzI7CiAgICAgICAgY291dDw8d3g8PCIgIjw8d3k8PGVuZGw7CiAgICAgICAgY2luPj5pbjsKICAgICAgICBpZihpbj09Ik9LIikKICAgICAgICAgICAgY29udGludWU7CgogICAgICAgIHdoaWxlKGluIT0iT0siKQogICAgICAgIHsKICAgICAgICAgICAgaWYoaW4ubGVuZ3RoKCk9PTIpCiAgICAgICAgICAgICAgICBwb2R3KCk7CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHBvaigpOwoKICAgICAgICAgICAgd3g9cG96LnNlY29uZC0oKHBvei5zZWNvbmQtcG96LmZpcnN0KzEpLzIpOwogICAgICAgICAgICB3eT1waW9uLnNlY29uZC0oKHBpb24uc2Vjb25kLXBpb24uZmlyc3QrMSkvMik7CiAgICAgICAgICAgIGNvdXQ8PHd4PDwiICI8PHd5PDxlbmRsOwoKICAgICAgICAgICAgY2luPj5pbjsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gMDsKfQo=