# from math import * # k = int(input()) # p = 0 # for i in range(k // 2 + 1, k + 1): # p += 0.8 ** i * 0.2 ** (k - i) * comb(k, i) # print(p) CNT = 0 def ask(x): global CNT CNT += 1 assert CNT <= 8888 print('?', 'ABC'[x]) res = int(input()) assert res != -1 return res def get(i): v = f = 0 while f < 44: r = ask(i) if f == 0: v, f = r, 1 elif v == r: f += 1 else: f -= 1 return v x, y = get(0), get(1) ix, iz = 0, 2 now = 0 for k in range(y.bit_length()): if y >> k & 1: now += x << k iy = 3 ^ ix ^ iz while True: print('+', ix, iz, iy) if get(iy) == now: iz = iy break if now == x * y: break iy = 3 ^ ix ^ iz while True: print('+', ix, ix, iy) if get(iy) == x << (k + 1): ix = iy break print('!', 'ABC'[iz])