I,O,R=input,print,range N=int(I()) n=R(N) Q=[0]*N u=set(i+1for i in n) v=set(u) def S(Q,k): v=set(u) for i in n: Q[i],k=sorted(v)[k//F[N-i-1]],k%F[N-i-1] v.remove(Q[i]) if N<9: F=[1] for i in n:F+=[F[-1]*(i+1)] l,r=0,F[N] while l"0":l=m else:r=m S(Q,l) else: for i in R(N-1): l,r,X=0,N-i,sorted(v) while l"0":l=m else:r=m t=Q[i]=X[l] v.remove(t) Q[N-1]=v.pop() O("!",*Q)