#include using namespace std; typedef long long ll; typedef vector vi; typedef vector vl; typedef pair pii; typedef pair pll; typedef int _loop_int; #define REP(i,n) for(_loop_int i=0;i<(_loop_int)(n);++i) #define FOR(i,a,b) for(_loop_int i=(_loop_int)(a);i<(_loop_int)(b);++i) #define FORR(i,a,b) for(_loop_int i=(_loop_int)(b)-1;i>=(_loop_int)(a);--i) #define DEBUG(x) cout<<#x<<": "< P; int m; pii ps[52525]; int main(){ scanf("%d",&m); REP(i,m)scanf("%d%d",&ps[i].first, &ps[i].second); // query int a,b,c,d,e,f; { int x,y,x2,y2; printf("? 0 0\n");fflush(stdout); scanf("%d%d",&x,&y); c = x; f = y; int poi = ((uint64_t)std::chrono::duration_cast(std::chrono::system_clock::now().time_since_epoch()).count())&INT_MAX; srand(poi);rand();rand(); if((rand()>>2)%8==0){ a = (rand()>>2)%4; if(a==0){ a = 1; d = 0; }else if(a==1){ a = 0; d = 1; }else if(a==2){ a = -1; d = 0; }else{ a = 0; d = -1; } }else{ printf("? 1 0\n");fflush(stdout); scanf("%d%d",&x2,&y2); a = x2-x; d = y2-y; } e = a; b = -d; } // ok puts("!"); REP(i,m){ printf("%d %d\n",a*ps[i].first+b*ps[i].second+c,d*ps[i].first+e*ps[i].second+f); } return 0; }