#include #define FOR(i, a, b) for(ll i = (a); i < (b); i++) #define REP(i, a) FOR(i, 0, a) using namespace std; using ll = long long; ll search(ll dir){ ll lb = -100000000 - 1, ub = 100000000 + 1; while (ub - lb > 2) { ll m = floor((double)(lb + ub) / 2.0); ll ret0, ret1; if (dir == 0) { cout << format("1 {} {}", m, 0) << endl; cin >> ret0; cout << format("1 {} {}", m + 1, 0) << endl; cin >> ret1; } else { cout << format("1 {} {}", 0, m) << endl; cin >> ret0; cout << format("1 {} {}", 0, m + 1) << endl; cin >> ret1; } if (ret0 <= ret1) { ub = m + 1; } else { lb = m; } } return lb + 1; } int main(){ ios::sync_with_stdio(false); cin.tie(NULL); ll N; cin >> N; cout << format("2 {} {}", search(0), search(1)) << endl; }