T,R=map(int,input().split()) t=0 N=5400 p=[-1]*(N+1) tick=[-1]*(N+1) s=set() # スキル値, プレイヤーi, 出現チック s.add((-10000000,-1,-1)) s.add((100000000,-1,-1)) pi=1 t_ans=set() fist=True _pl=set() used=set() import bisect while t<3600 : L=list(map(int,input().split())) # if nowtime - stime >4.85: # t+=1 # print(0) # sys.stdout.flush() # continue if fist == True and L[0]>=3: # t+=1 # print(0) # continue for i in range(L[0]-1): _pl.add(pi) pi+=1 print(1) used.add(_pl.pop()) used.add(_pl.pop()) fist=False t+=1 print(*list(used)) continue elif fist == False and len(_pl)>0: print(1) p=used.pop() pp=_pl.pop() used.add(p) used.add(pp) t+=1 print(p,pp) continue else: t+=1 print(0) continue