#include int inquiry(int x, int y, int z) { printf("? %d %d %d\n", x, y, z); fflush(stdout); int d; scanf("%d", &d); return d; } int main() { int X; { int lb = -150; int ub = 151; while (ub-lb > 1) { int mid = (lb+ub) >> 1; int d0 = inquiry(mid, 0, 0); int d1 = inquiry(mid+1, 0, 0); ((d0 > d1)? lb:ub) = mid; } X = ub; } int Y; { int lb = -150; int ub = 151; while (ub-lb > 1) { int mid = (lb+ub) >> 1; int d0 = inquiry(X, mid, 0); int d1 = inquiry(X, mid+1, 0); ((d0 > d1)? lb:ub) = mid; } Y = ub; } int Z; { int lb = -150; int ub = 151; while (ub-lb > 1) { int mid = (lb+ub) >> 1; int d0 = inquiry(X, Y, mid); int d1 = inquiry(X, Y, mid+1); ((d0 > d1)? lb:ub) = mid; } Z = ub; } printf("! %d %d %d\n", X, Y, Z); fflush(stdout); }