#ifndef INCLUDED_MAIN #define INCLUDED_MAIN #include __FILE__ using namespace nskr; int main(void){ int t; cin >> t; for(;t--;){ string r,s; cin >> r >> s; int k; cin >> k; if(s == "Warong"){ int i=0; int q=0; for(char& c : r){ if(i=k){ if(c=='?') c='W'; } i++; } } cout << r << "\n"; }else{ int i; bool a=true,b=true; int q=0; rep(i,k){ if(r[i] == 'W') b= false; if(r[i] != 'A') a= false; } if(b){ cout << r << "\n"; continue; } for(auto& c : r){ if(c=='?') q++; } if(q==1){ i=0; for(auto& c: r){ if(c=='?'){ if(i XにWが含まれてはならない // if(w) -> 最初のK文字が全てAであってはならない // if(!a && !w) -> どうにもならない } } } #else #include using namespace std; using ll = long long; using ld= long double; #define rep(i,n) for(i=0;i<(n);i++) #define all(a) a.begin(), a.end() #define rall(a) a.rbegin(), a.rend() namespace nskr{ struct unionfind{ //unionfind - union by size, 経路圧縮 vector pr, sz; unionfind(int n){ pr.resize(n); sz.resize(n,1); for(int i=0;i dist(a,b); return dist(gen); } #endif