#include using namespace std; #define rep(i, n) for (int i=0; i<(n); i++) const string CANDIDATE = "WA?"; const string WARONG = "Warong"; const string NOT_WARONG = "NotWarong"; const vector> cyc = {{2, 0, 'A'}, {0, 1, 'W'}, {1, 2, '.'}}; void solve() { string r,s; int k; cin >> r >> s >> k; int n = r.size(); vector ca(CANDIDATE.size(), 0); vector cb(CANDIDATE.size(), 0); for (int i=0; i bool { if (ca[0] != 0) return false; if (cb[0] + cb[2] - ca[0] - ca[2] == 0) return false; return true; }; auto check_not_warong = [&] () -> bool { if (cb[0] == 0) return true; if (ca[0] + ca[2] > 0) return true; return false; }; string ans = r; rep(i, n) { if (r[i] != '?') continue; for (auto [bef, aft, c] : cyc) { cb[bef]--; cb[aft]++; if (i < k) {ca[bef]--; ca[aft]++;} if (s == WARONG && !check_warong()) ans[i] = c; if (s == NOT_WARONG && !check_not_warong()) ans[i] = c; } } cout << ans << '\n'; assert(n > k); } int main() { int t; cin >> t; rep(i, t) solve(); }