stime=time.perf_counter() T,R=map(int,input().split()) t=0 N=5400 uf=UnionFind(N+1) 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 : nowtime=time.perf_counter() 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: for e in L[1:]: _pl.add(e) print(1) used.add(_pl.pop()) used.add(_pl.pop()) fist=False print(*used) t+=1 continue if fist == False and len(_pl)>0: print(1) p=used.pop() pp=_pl.pop() used.add(p) used.add(pp) print(p,pp) t+=1 continue t+=1 continue