#include "bits/stdc++.h" using namespace std; #define FOR(i,j,k) for(int (i)=(j);(i)<(int)(k);++(i)) #define rep(i,j) FOR(i,0,j) #define each(x,y) for(auto &(x):(y)) #define mp make_pair #define mt make_tuple #define all(x) (x).begin(),(x).end() #define debug(x) cout<<#x<<": "<<(x)< pii; typedef vector vi; typedef vector vll; // サンプルプログラム // 質問クエリ int ask(int x, int y, int z) { int d; cout << "?" << " " << x << " " << y << " " << z << endl; cin >> d; return d; } // 回答クエリ void answer(int x, int y, int z) { cout << "!" << " " << x << " " << y << " " << z << endl; } // より typedef array P; int ask2(P p) { return ask(p[0], p[1], p[2]); } void answer2(P p) { return answer(p[0], p[1], p[2]); } int f(int l, int r, int k, P p) { if (r - l == 1)return l; p[k] = l-150; int dl, dr; dl = ask2(p); p[k] = r - 151; dr = ask2(p); int m = (l + r) / 2; return (dl < dr ? f(l, m, k, p) : f(m, r, k, p)); } int main(){ P p; p[0] = p[1] = p[2] = 0; rep(i, 3) { p[i] = f(0, 301, i, p) - 150; } answer2(p); }