from sys import stdin, stdout input = lambda: stdin.readline().rstrip() write = stdout.write def main(): x = y = z = 0 for s in ('x', 'y', 'z'): d = dist(s, x, y, z) if s == 'x': x = d elif s == 'y': y = d else: z = d print('!', x, y, z) def dist(axis, x, y, z): min_ = -100 max_ = 100 while max_ - min_ > 3: xi = min_ if axis == 'x' else x yi = min_ if axis == 'y' else y zi = min_ if axis == 'z' else z print('?', xi, yi, zi) d1 = int(input()) xi = max_ if axis == 'x' else x yi = max_ if axis == 'y' else y zi = max_ if axis == 'z' else z print('?', xi, yi, zi) d2 = int(input()) if d1 < d2: max_ = (min_ + max_) // 2 else: min_ = (min_ + max_) // 2 if d1 <= d2: return d1 else: return d2 main()