def get x, y = gets.split.map(&:to_i); Complex(x, y) end m = gets.to_i ps = m.times.map { get } puts "? 0 0" $>.flush org = get puts "? 1 0" $>.flush r = get - org puts "!" ps.map { |c| c*r + org }.each { |c| x, y = c.rect puts "#{x} #{y}" } $>.flush