#include #include using namespace std; using namespace atcoder; #define rep(i, n) for(ll i=0;i<(n);++i) #define rep1(i, n) for(ll i=1;i<=(n);i++) #define ll long long using mint = modint998244353; using P = pair; using lb = long double; using T = tuple; #ifdef LOCAL # include # define dbg(...) debug_print::multi_print(#__VA_ARGS__, __VA_ARGS__) #else # define dbg(...) (static_cast(0)) #endif ll query(ll x, ll y) { cout << 1 << " " << x << " " << y << endl; ll d; cin >> d; return d; } int main() { ll n; cin >> n; ll l = -1e9; ll r = 1e9; ll y = 0; while(r-l>2) { ll li = (l*2+r)/3; ll ri = (r*2+l)/3; ll d1 = query(li,y); ll d2 = query(ri,y); if(d12) { ll li = l + (r-l)/3; ll ri = l + (r-l)*2/3; ll d1 = query(x,li); ll d2 = query(x,ri); if(d1