def ask(aa): if len(aa)==1:return 0 if len(aa)==n:return 1 print("?", len(aa), flush=True) print(*aa, flush=True) return int(input()) n = int(input()) ans = [] r = n while 1: l = 0 while l+1 < r: m = (l+r)//2 aa = list(range(1, m+1))+ans[::-1] if ask(aa): r = m else: l = m ans.append(r) if ask(ans[::-1]): break print("!", len(ans), flush=True) print(*ans[::-1], flush=True)