N = int(raw_input()) W = [i + 1 for i in xrange(N)] Dummy = [0] * N turn = 0 while turn < N * N: start = 0 if N % 2 == 1: start = turn % 2 ask = " ".join(map(str, W[start:start + N])) ask += " " ask += " ".join(map(str, Dummy)) if start == 1: ask += " 0" print "?", ask results = raw_input().split() for i, res in enumerate(results): j = 2 * i + start if res == ">": W[j], W[j + 1] = W[j + 1], W[j] turn += 1 print "!", " ".join(map(str, W))