import sys def fprint(s): print s sys.stdout.flush() def solve(n): start = 1 guess = n / 2 buss = [] while start < n - 1: if guess >= n: buss.append(str(start)) break fprint("1 %s %s" % (start, guess)) response = int(raw_input()) if not response: while response == 0: if guess / 2 < start: if guess - 1 > start: guess -= 1 else: break else: guess = guess / 2 fprint("1 %s %s" % (start, guess)) response = int(raw_input()) if response == 1: guess = guess + 1 if guess < n: fprint("1 %s %s" % (start, guess)) while response == 1 and guess + 1< n: guess = guess + 1 fprint("1 %s %s" % (start, guess)) response = int(raw_input()) buss.append(str(start)) start += guess - 1 else: buss.append(str(start)) guess += 1 start += 1 else: while response == 1 and guess + 1< n: guess = guess + 1 fprint("1 %s %s" % (start, guess)) response = int(raw_input()) buss.append(str(start)) start += guess - 1 guess = guess + (n - guess) / 2 fprint("2 %s %s" % (len(buss), " ".join(buss))) n = int(raw_input()) solve(n)