#include using namespace std; int main() { string player; cin >> player; int Q; cin >> Q; int N, M; cin >> N >> M; if(player == "Bob") swap(N, M); vector A(N); for(int i = 0; i < N; ++i) cin >> A[i]; vector P(N); { vector> cp(N); for(int i = 0; i < N; ++i) cp[i] = {A[i], i}; sort(cp.begin(), cp.end()); for(int i = 0; i < N; ++i) tie(A[i], P[i]) = cp[i]; } auto share = [&](int i) { cout << "share " << P[i - 1] + 1 << endl; int res; cin >> res; if(res) exit(1); return res; }; int K = (N + M) / 2, dA = 0, dB = 0; while(K > 2) { const int p = min(dA + K / 2, N), q = min(dB + K / 2, M); int Bq = share(p); if(A[p] < Bq) dA = p; else dB = q; K = (N + M) / 2 - dA - dB; } vector v; for(int i = 0; i < 3; ++i) { int res = share(min(dA + i, N)); if(dA + i < N) v.push_back(A[dA + i]); if(dB + i < M) v.push_back(res); } sort(v.begin(), v.end()); cout << "answer " << v[K] << endl; return 0; }