# include <bits/stdc++.h>
# define NR 100005
using namespace std;
int i,j,N,m,VV,last,lastNEW,rasp,urm;
int sol[NR], lg[NR];
void logaritmi () {
    for (int i=2; i<=100005; ++i)
        lg[i]=lg[i/2]+1;
}
void afisare () {
    cout<<"2 "<<VV<<" ";
    for (int i=1; i<=VV; ++i)
        cout<<sol[i]<<" ";
    cout<<"\n";
}
int main ()
{
    last=1; logaritmi();
    cin>>N;

    while (1) {
        lastNEW=last; sol[++VV]=last;
        if (last==N) {
            afisare ();
            return 0;
        }
        for (i=1; i<=lg[N-last+1]; ++i) { //caut binar
            urm=last+(1<<i)-1;
            cout<<"1 "<<last<<" "<<urm<<"\n";
            cout.flush();

            cin>>rasp;
            if (rasp==1) lastNEW=urm;
                    else break;
            if (urm==N) {
                afisare ();
                return 0;
            }
        }
        last=lastNEW+1;
    }

    return 0;
}