#include <bits/stdc++.h>

using namespace std;

int n;

int Ask(int a, int b) {
    cout << 1 << " " << a << " " << b << endl;
    cin >> a;
    return a;
}

int Find(int i) {
    int l = i, r = n;
    while(l < r) {
        for(int step = 1; l + step <= r; step <<= 1) {
            int ans = Ask(l, l + step);
            if(ans == 1) {
                l += step;
            } else {
                r = l + step - 1;
            }
        }
    }
    return l;
}

vector<int> Sol;

int main() {
    cin >> n;

    int i = 1;
    while(i <= n) {
        Sol.push_back(i);
        int next_i = Find(i);
        i = next_i + 1;
    }

    cout << 2 << " " << Sol.size() << " ";
    for(auto x : Sol) {
        cout << x << " ";
    }

    return 0;
}