using System; class A { static int Query(int i, int j) { Console.WriteLine($"? {i} {j}"); return int.Parse(Console.ReadLine()); } static void Main() => Console.WriteLine($"! {Solve()}"); static object Solve() { var d1 = Query(0, 0); var d2 = Query(0, 100); int Distance2(int x, int y) => x * x + y * y; for (int i = 0; i <= 100; i++) { for (int j = 0; j <= 100; j++) { if (Distance2(i, j) == d1 && Distance2(i, j - 100) == d2) return $"{i} {j}"; } } throw new InvalidOperationException(); } }