STDOUT.sync = true
N = gets.to_i

P = []
sum = (1 .. N).sum
(2 .. N - 1).reverse_each do |r|
  puts "? 1 #{r}"
  x = gets.to_i
  y = sum - x
  P.unshift(y)
  sum -= y
end
puts "? 2 #{N}"
x = gets.to_i
y = (1 .. N).sum - x
P.unshift((1 .. N).sum - P.sum - y)
P.unshift(y)

puts "! " + P.join(" ")