// Board Meeting problem. for N=1
#include <iostream>
#include <string>
using namespace std;
int main(){
int T=1, N=1, M=1e6, R=1000;
int x1,x2, y1,y2, d1,d2,a,x,y;
string s;
cin>> T >> N >> M >> R;
for(int i=1;i<=T; i++){
cout<< -1000000 << " " << -1000000 << endl <<flush;
cin>>s; //distance 1
for(auto &x:s) x= toupper(x);
if(s=="ERROR") return 0;
else d1= stoi(s);
cout<< 1000000 << " " << 1000000 << endl <<flush;
cin>>s; //distance 2
for(auto &x:s) x= toupper(x);
if(s=="ERROR")return 0;
else d2= stoi(s);
x1= -1000000 + d1;
y1= 1000000 - d2;
x2= 1000000 - d2;
y2= -1000000 + d1;
cout<< x1 << " " << y1 << endl <<flush;
cin >> a;
if(a==0){x=x1; y=y1;}
else{ x=x2; y=y2;}
cout<<"READY\n" <<flush;
while(R--){
cin>>s;
for(auto &x:s) x= toupper(x);
if(s=="DONE") break;
if(s=="ERROR") return 0;
x1= stoi(s);
cin>>y1;
x2 = abs(x-x1);
y2 = abs(y-y1);
if(x2>y2) cout<< x2 << endl << flush;
else cout<< y2 << endl << flush;
}
}
return 0;
}
Ly8gQm9hcmQgTWVldGluZyBwcm9ibGVtLiBmb3IgTj0xCiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPHN0cmluZz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCl7CglpbnQgVD0xLCBOPTEsIE09MWU2LCBSPTEwMDA7CglpbnQgeDEseDIsIHkxLHkyLCBkMSxkMixhLHgseTsKCXN0cmluZyBzOwkKCWNpbj4+IFQgPj4gTiA+PiBNID4+IFI7Cglmb3IoaW50IGk9MTtpPD1UOyBpKyspewoJCWNvdXQ8PCAtMTAwMDAwMCA8PCAiICIgPDwgLTEwMDAwMDAgPDwgZW5kbCA8PGZsdXNoOwkKCQljaW4+PnM7IC8vZGlzdGFuY2UgMQoJCWZvcihhdXRvICZ4OnMpIHg9IHRvdXBwZXIoeCk7CgkJaWYocz09IkVSUk9SIikgcmV0dXJuIDA7CgkJZWxzZSBkMT0gc3RvaShzKTsKCQljb3V0PDwgMTAwMDAwMCA8PCAiICIgPDwgMTAwMDAwMCA8PCBlbmRsIDw8Zmx1c2g7ICAgICAgICAgICAgICAgICAgICAgCQoJCWNpbj4+czsgLy9kaXN0YW5jZSAyCgkJZm9yKGF1dG8gJng6cykgeD0gdG91cHBlcih4KTsKCQlpZihzPT0iRVJST1IiKXJldHVybiAwOwoJCWVsc2UgZDI9IHN0b2kocyk7CQkKCQl4MT0gLTEwMDAwMDAgKyBkMTsKCQl5MT0gIDEwMDAwMDAgLSBkMjsJCQoJCXgyPSAgMTAwMDAwMCAtIGQyOwoJCXkyPSAtMTAwMDAwMCArIGQxOwoJCWNvdXQ8PCB4MSA8PCAiICIgPDwgeTEgPDwgZW5kbCA8PGZsdXNoOwoJCWNpbiA+PiBhOwoJCWlmKGE9PTApe3g9eDE7IHk9eTE7fQoJCWVsc2V7IHg9eDI7IHk9eTI7fQkJCgkJY291dDw8IlJFQURZXG4iIDw8Zmx1c2g7CgkJd2hpbGUoUi0tKXsJCQkKCQkJY2luPj5zOwoJCQlmb3IoYXV0byAmeDpzKSB4PSB0b3VwcGVyKHgpOwkJCQoJCQlpZihzPT0iRE9ORSIpIGJyZWFrOwoJCQlpZihzPT0iRVJST1IiKSByZXR1cm4gMDsKCQkJeDE9IHN0b2kocyk7CgkJCWNpbj4+eTE7CQkJCQkJCgkJCXgyID0gYWJzKHgteDEpOwoJCQl5MiA9IGFicyh5LXkxKTsKCQkJaWYoeDI+eTIpIGNvdXQ8PCB4MiA8PCBlbmRsIDw8IGZsdXNoOwoJCQllbHNlIGNvdXQ8PCB5MiA8PCBlbmRsIDw8IGZsdXNoOwoJCX0KCX0KcmV0dXJuIDA7CQp9