#include <cstdio>
using namespace std;
int n, start, naux, rasp, cnt, nrbs, bus[100001], i, rp;
int main()
{
	scanf("%d", &n);
	start=1;
	naux=n;
	while(cnt!=n)
	{
		
		if(naux<=start)
		{
			cnt++;
			nrbs++;
			bus[nrbs]=start;
			start++;
			naux=n;
			continue;
		}
		printf("1 %d %d\n", start, naux);
		fflush(stdout);
		scanf("%d", &rasp);
		if(rasp==0)
			naux=(start+naux)/2;
		if(rasp==1)
		{
			cnt+=(naux-start+1);
			nrbs++;
			bus[nrbs]=start;
			start=naux+1;
			naux=n;
		}
	}
	printf("2 %d ", nrbs);
	fflush(stdout);
	for(i=1; i<=nrbs; i++)
	{
		printf("%d ", bus[i]);
		fflush(stdout);
	}
	
}