#include <iostream> #include <set> #include <algorithm> #include <assert.h> using namespace std; int n, start, naux, rasp, cnt, nrbs, bus[100001], i, rp; int main() { cin>>n; start=1; while(cnt!=n) { naux=n; rp=naux/2; if(rp<start) rp=start; cout<<"1 "<<start<<" "<<rp; cout.flush(); cin>>rasp; if(rasp==0) naux=naux/2; if(rasp==1) { cnt+=(rp-start+1); nrbs++; bus[nrbs]=start; start=rp+1; } if(naux<start) naux=start; } cout<<2<<" "<<nrbs<<" "; for(i=1; i<=nrbs; i++) { cout<<bus[i]; if(i!=nrbs) cout<<" "; } cout.flush(); }