import sys N=int(raw_input()) ans = [i+1 for i in range(N)] z = [0 for i in range(N*2)] z=' '.join(map(str,z)) e=0 for i in range(N*2): l=i%2 q=' '.join(map(str, ans[l:])) r=int((N-l)/2) if l+2*r==N: q=q[0:r*4]+' '+z[0:(N-r)*4] else: q=q[0:r*4]+z[0:(N-r)*4] print '?',q[0:len(q)-1] ret = raw_input().split() sys.stdout.flush() f=True for j in range(r): if ret[j]=='>': f=False ans[j*2+i%2],ans[j*2+i%2+1]=ans[j*2+i%2+1],ans[j*2+i%2] if f:e+=1 else:e=0 if e==2:break print '!', ' '.join(map(str, ans)) sys.stdout.flush()