def ask(arr): if len(arr) > n: return False print("?", len(arr), *arr, flush=True) s = input() return s == "Yes" n = int(input()) ans = [] for v in range(1, n + 1): cnt = 0 while True: if not ask([v] * (cnt + 1)): break cnt += 1 for c in range(1, cnt + 1): ng, ok = len(ans) + 1, 0 while ng - ok > 1: mid = (ok + ng) // 2 res = ans[:mid] + [v] * c if ask(res): ok = mid else: ng = mid ans = ans[:ok] + [v] + ans[ok:] print("!", *ans)