#include #include using namespace std; using ll=long long; using ld=long double; using st=string; using P=pair; typedef atcoder::modint mint; ll inf=9e18; template constexpr auto max(T... a){return max(initializer_list>{a...});} template constexpr auto min(T... a){return min(initializer_list>{a...});} template auto vec(const ll (&sizes)[s], const T& init = T()){ if constexpr(i < s) return vector(sizes[i], vec(sizes, init)); else return init; } int main(){ ll n,m,q,x; st s; cin>>s>>q>>n>>m; auto v=vec

({0},{0,0}); if(q==1000){ if(s=="Alice"){ for(ll i=0;i>x; v.push_back({x,-1}); } for(ll i=0;i>x; v.push_back({x,-1}); } }else{ for(ll i=0;i>x; v.push_back({x,-1}); } for(ll i=0;i>x; v.push_back({x,-1}); } } sort(v.begin(),v.end()); cout<<"answer "<({0},0); if(q==12){ return 0; //あわない。。。 if(s=="Alice"){ for(ll i=1;i<=n;i++){ cin>>x; v.push_back({x,i}); } sort(v.begin(),v.end()); l=0,r=n-1; al=0,ar=m-1; for(ll i=0;i<9;i++){ mid=(l+r)/2; amid=(al+ar)/2; cout<<"share "<>x; shared=mid; if(v[mid].first>x){l=mid;ar=amid;cl+=mid-l;cr+=ar-amid;} else{r=mid;al=amid;cr+=r-mid;cl+=amid-al;} } for(ll i=l;i<=r;i++){ if(i==shared) continue; cout<<"share "<>x; w.push_back(x); w.push_back(v[i].first); } }else{ for(ll i=1;i<=m;i++){ cin>>x; v.push_back({x,i}); } sort(v.begin(),v.end()); l=0,r=m-1; al=0,ar=n-1; for(ll i=0;i<9;i++){ mid=(l+r)/2; amid=(al+ar)/2; cout<<"share "<>x; shared=mid; if(v[mid].first>x){l=mid;ar=amid;cl+=mid-l;cr+=ar-amid;} else{r=mid;al=amid;cr+=r-mid;cl+=amid-al;} } for(ll i=l;i<=r;i++){ if(i==shared) continue; cout<<"share "<>x; w.push_back(x); w.push_back(v[i].first); } } if((n+m)/2-cl>=0) cout<<"answer "<