T, N, money = map(int, input().split()) s, p, r = [0] * N, [0] * N, [0] * N def do(arg): if type(arg) == list: print(1, *arg, flush=True) else: print(2, arg, flush=True) money = int(input()) if money == -1: exit() s = list(map(int, input().split())) p = list(map(int, input().split())) r = list(map(int, input().split())) return money, s, p, r money, s, p, r = do([money // (500 * N)] * N) for week in range(T - 1): leftbook = money // 500 # print(leftbook) needbook = (sum(r) + leftbook) # print(needbook) ship = [max(0, needbook // N - r) for r in r] # print(sum(s * 500 for s in ship)) money, s, p, r = do(ship) # 52 10 200000000 # 10000000 # 1 2 3 4 5 6 7 8 9 10 # 1 2 3 4 5 6 7 8 9 10 # 1 2 3 4 5 6 7 8 9 10