#include using namespace std; using ll = long long; int main(){ ios::sync_with_stdio(false); cin.tie(0); constexpr int r = 19; array tmp; auto ask1 = [&](char c){ for(int i = 0; i < r; i++){ cout << "? " << c << endl; cin >> tmp[i]; } sort(tmp.begin(), tmp.end()); pair mx; for(int i = 0; i < r; ){ int p = i; while(i < r && tmp[i] == tmp[p]) i++; mx = max(mx, make_pair(i - p, tmp[p])); } return mx.second; }; auto ask2 = [&](char c0, char c1, char c2){ int res; cout << "+ " << c0 << " " << c1 << " " << c2 << endl; cin >> res; assert(res == 0); }; int x = ask1('A'); int y = ask1('B'); int v = 0; char c0 = 'A', c1 = 'B'; while(y){ if(y & 1){ v += x; do{ ask2(c0, c0, 'C'); }while(ask1('C') != v); } do{ ask2(c0, c0, c1); }while(ask1('C') != 2 * x); x += x; swap(c0, c1); } cout << "! C" << endl; }