#nullable enable #region using System.Numerics; var (_input, _iter) = (Array.Empty(), 0); T I() where T : IParsable { while (_iter >= _input.Length) (_input, _iter) = (Console.ReadLine()!.Trim().Split(' '), 0); return T.Parse(_input[_iter++], null); } #endregion var tz = new BigInteger[100]; tz[0] = 1; for (var i = 1; i < 100; i++) tz[i] = tz[i - 1] * 10; BigInteger ans = 0; for (var i = 99; i >= 0; i--) { var t = tz[i]; for (var j = 0; j < 10; j++) { Console.WriteLine("? 1 " + t); if (I() == ">") ans += t; else break; } } Console.WriteLine("! " + ans);