#include #include using namespace std; vector sol; bool ask(int a, int b) { cout << "1 " << a << ' ' << b << '\n'; cout.flush(); bool ans; cin >> ans; return ans; } int main() { int n = 0; cin >> n; int ans; for (int i = 1; i <= n; i = ans + 1) { sol.push_back(i); int st = i + 1, dr = n; ans = i; while (st <= dr) { int mid = (st + dr) >> 1; if (ask(i, mid)) ans = mid, st = mid + 1; else dr = mid - 1; } } cout << "2 " << sol.size(); for (int i = 0; i < sol.size(); ++ i) cout << ' ' << sol[i]; cout << '\n'; cout.flush(); return 0; }