def a(q)
puts"? "+q.join(" ")
$>.flush
gets
end
N=gets.to_i
s="! "
I=(1..2*N).to_a
f=a I[0,N]
l,r=0,N
9.times{
m=(l+r)/2
f==a(I[m,N])?l=m:r=m
}
x=I[r,N-1]
y=I-I[l,N+1]
I.map{|i|
s+=a([i]+(x.index(i)?y:x))[0]
}
puts s