using System; using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; using System.Text; using System.Text.RegularExpressions; using System.Linq; public class Program { static public void Main(string[] args) { Console.WriteLine("? 64"); string s = Console.ReadLine(); int min = -1, max = -1; switch (s) { case "-1": max = 64; min = 10; break; case "1": max = (int)1e9 + 1; min = 65; break; case "0": Console.WriteLine("! 64"); return; } for (int i = 1; ; i++) { int mid = (min + max) / 2; Console.WriteLine($"? {mid - i}"); s = Console.ReadLine(); switch (s) { case "-1": max = mid - 1; break; case "1": min = mid + 1; break; case "0": Console.WriteLine($"! {mid}"); return; } } } }