from math import factorial def P(n, k): """ 長さnの順列としてありうるもので、辞書順でk番目のもの """ S = list(range(n)) res = [] for i in range(1, n + 1): a = factorial(n - i) j = k // a res.append(S[j] + 1) S = S[:j] + S[j + 1 :] k %= a return res N = int(input()) l = 0 r = factorial(N) while r - l > 1: mid = (l + r) // 2 Q = P(N, mid) print("?", *Q, flush=True) ret = int(input()) if ret == 1: l = mid else: r = mid print("!", *P(N, l), flush=True)