# -*- coding:utf-8 -*- import sys if __name__ == "__main__": minimum = 1 maximum = 10 ** 9 for i in xrange(100): mid = (maximum - minimum) / 2 + minimum print "? %d" % mid sys.stdout.flush() result = input() if result == 1: minimum = mid else: maximum = mid if maximum == minimum: print "! %d" % maximum sys.stdout.flush() elif maximum - minimum == 1: print "? %d" % minimum + 1 sys.stdout.flush() result = input() if result == 1: print "! %d" % maximum sys.stdout.flush() else: print "! %d" % minimum sys.stdout.flush()