import sys input = lambda :sys.stdin.readline()[:-1] ni = lambda :int(input()) na = lambda :list(map(int,input().split())) yes = lambda :print("yes");Yes = lambda :print("Yes");YES = lambda : print("YES") no = lambda :print("no");No = lambda :print("No");NO = lambda : print("NO") ####################################################################### from collections import Counter def mode(A): c = Counter(A) return c.most_common()[0][0] def add(v1, v2, v3): assert v1 != v3 assert v2 != v3 print("+", v1, v2, v3, flush= True) return ni() def add_exact(v1, v2, v3, x, y): while True: add(v1, v2,v3) res = check(v3) if res == x + y: break T1 = 20 def check(i): A = [] for _ in range(T1): print("?", i, flush = True) A.append(ni()) return mode(A) X = "A" Z = "C" Y = "B" x = check(X) y = check(Y) z = 0 while y: if y % 2: add_exact(X, Z, Y, x, z) X, Y, Z = X, Z, Y z = x + z add_exact(X, X, Y, x, x) X, Y = Y, X x = x * 2 y >>= 1 print("!", Z)