#include #include #include #include using namespace std; int n; vector sol; inline void Solve(int st, int dr) { if(st > dr) return; if(st == dr) { sol.push_back(st); return; } int ans; cout << "1 " << st << " " << dr << "\n"; cout.flush(); cin >> ans; if(ans == 1) { sol.push_back(st); return; } int lg = (dr - st + 1) / 5, rest = (dr - st + 1) % 5; int i = st; while(i <= dr) { if(rest > 0) { rest--; Solve(i, i + lg); i += lg + 1; } else { Solve(i, i + lg - 1); i += lg; } } } int main() { std::ios_base::sync_with_stdio(false); cin >> n; Solve(1, n); cout << "2 " << sol.size() << " "; for(int i = 0; i < sol.size(); ++i) cout << sol[i] << " "; cout << "\n"; cout.flush(); return 0; }