''' def ret(X): x0,y0,z0 = 100,-103,0 x,y,z = X return (x-x0) **2 + (y-y0)**2 + (z-z0) **2 ''' def search(d): lb = -150 ub = 151 A = [0,0,0] while ub - lb > 1: mid = (ub + lb) // 2 A[d] = mid print("?",*A) a = int(input()) #a = ret(A) A[d] += 1 print("?",*A) b = int(input()) #b = ret(A) if a < b: ub = mid else: lb = mid return ub ans = [0] * 3 for i in range(3): ans[i] = search(i) print("!", *ans)