from sortedcontainers import SortedSet N = int(input()) seq = [0] L = 1 for R in range(2,N+1): print("?", L, R, flush = True) x = int(input()) seq.append(x) seq.reverse() SS = SortedSet(range(1,N+1)) #print(seq) #print(SS) ans = [0] * N for i in range(N-1): diff = seq[i] - seq[i+1] pos = N-(i+1) v = SS[-(diff+1)] ans[pos] = v SS.remove(v) ans[0] = SS[0] print("!", *ans)