#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef pair P; typedef vector V; typedef complex Point; #define PI acos(-1.0) #define EPS 1e-10 const ll INF = 1e12; const ll MOD = 1e9 + 7; #define FOR(i,a,b) for(int i=(a);i<(b);i++) #define rep(i,N) for(int i=0;i<(N);i++) #define ALL(s) (s).begin(),(s).end() #define EQ(a,b) (abs((a)-(b))> d; cin.ignore(); return d; } void answer(int x, int y, int z) { cout << "!" << " " << x << " " << y << " " << z << endl; } int main(void) { ll lx = -150, ux = 150; ll ly = -150, uy = 150; ll lz = -150, uz = 150; ll ansx, ansy, ansz; rep(i, 30) { ll ld = ask(lx, 0, 0), ud = ask(ux, 0, 0); if (ld < ud)ux = (lx + ux) / 2; else lx= (lx + ux) / 2; } ansx = lx; rep(i, 30) { ll ld = ask(ansx, ly, 0), ud = ask(ansx, uy, 0); if (ld < ud)uy = (ly + uy) / 2; else ly = (ly + uy) / 2; } ansy = ly; rep(i, 30) { ll ld = ask(ansx, ansy, lz), ud = ask(ansx, ansy, uz); if (ld < ud)uz = (lz + uz) / 2; else lz = (lz + uz) / 2; } ansz = lz; answer(ansx, ansy, ansz); return 0; }