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(y) P.unshift((1 .. N).sum - P.sum) puts "! " + P.join(" ")