#include using namespace std; #include using namespace atcoder; using ll = int64_t; using ul = uint64_t; using ld = long double; using vi = vector; using vd = vector; using vc = vector; using vs = vector; using vb = vector; using vl = vector; using vvi = vector; using vvd = vector; using vvc = vector; using vvb = vector; using vvl = vector; using mint = modint998244353; using vm = vector; int main() { string pl; int Q,N,M; cin >> pl >> Q >> N >> M; if (Q == 12) { cout << "二分探索で数当てるやつみたくやればよさそうだけどわからん" << endl; } else if (pl == "Alice") { vi X(N); for (int i = 0; i < N; i++) { cin >> X[i]; } for (int i = 0; i < max(N, M); i++) { if (i < N) cout << "share " << i + 1 << endl; else cout << "share " << 1 << endl; int v; cin >> v; if (i < M) X.push_back(v); } sort(X.begin(),X.end()); cout << "answer " << X[(N + M)/2] << endl; } else { vi X(M); for (int i = 0; i < M; i++) { cin >> X[i]; } for (int i = 0; i < max(N, M); i++) { if (i < M) cout << "share " << i + 1 << endl; else cout << "share " << 1 << endl; int v; cin >> v; if (i < N) X.push_back(v); } sort(X.begin(),X.end()); cout << "answer " << X[(N + M)/2] << endl; } return 0; }