#include #define rep(i,n) for(int i = 0; i < (n); ++i) #define srep(i,s,t) for (int i = s; i < t; ++i) #define drep(i,n) for(int i = (n)-1; i >= 0; --i) using namespace std; typedef long long int ll; typedef pair P; #define yn {puts("Yes");}else{puts("No");} #define MAX_N 200005 int main() { srand((unsigned) time(NULL)); int x[10], y[10]; rep(i,10){ x[i] = rand() % 99999; y[i] = rand() % 99999; } int a[10] = {}; rep(i,10){ cout << x[i] << ' ' << y[i] << endl; cin >> a[i]; if(a[i] == 0)return 0; } vector

v; srep(i, x[0]-a[0], x[0]+a[0]){ int j = y[0] - (a[0] - abs(x[0] - i)); if(i >= 0 && i <= 100000 && j >= 0 && j <= 100000){ v.push_back(P(i,j)); } j = y[0] + (a[0] - abs(x[0] - i)); if(i >= 0 && i <= 100000 && j >= 0 && j <= 100000){ v.push_back(P(i,j)); } } rep(loop, v.size()){ int l = v[loop].first; int r = v[loop].second; int flag = 1; rep(i,10){ if(abs(l - x[i]) + abs(r - y[i]) != a[i])flag = 0; } if(flag){ cout << l << ' ' << r << endl; int d; cin >> d; if(d == 0)return 0; } } return 0; }