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))