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 len(ans) < n: cnt += 1 ng, ok = len(ans) + 1, -1 while ng - ok > 1: mid = (ok + ng) // 2 if ask(ans[:mid] + [v] * cnt): ok = mid else: ng = mid if ok == -1: break ans = ans[:ok] + [v] + ans[ok:] print("!", *ans, flush=True)