import sys ans = [0,0,0] for i in range(3): up = 100 down = -100 if i == 0: while up != down: print("?", up, 0, 0) sys.stdout.flush() while 1: try: d1 = int(input()) break except EOFError: continue print("?", down, 0, 0) sys.stdout.flush() while 1: try: d2 = int(input()) break except EOFError: continue if d1 <= d2: down = (up + down)//2 else: up = (up + down)//2 elif i == 1: while up != down: print("?", 0, up, 0) sys.stdout.flush() while 1: try: d1 = int(input()) break except EOFError: continue print("?", 0, down, 0) sys.stdout.flush() while 1: try: d2 = int(input()) break except EOFError: continue if d1 <= d2: down = (up + down)//2 else: up = (up + down)//2 elif i == 2: while up != down: print("?", 0, 0, up) sys.stdout.flush() while 1: try: d1 = int(input()) break except EOFError: continue print("?", 0, 0, down) sys.stdout.flush() while 1: try: d2 = int(input()) break except EOFError: continue if d1 <= d2: down = (up + down)//2 else: up = (up + down)//2 ans[i] = up print("!", ans[0], ans[1], ans[2]) sys.stdout.flush()