#include using namespace std; using ll = long long; using vll = vector; template using umap = unordered_map; #define rep(i, n) for (int i = 0; i < n;i++) #define rep1(i, n) for (int i = 1; i <= n;i++) #define rrep(i, n) for (int i = n - 1; i >= 0;i--) #define rrep1(i, n) for (int i = n; i >= 1;i--) #define all(x) x.begin(), x.end() #define rall(x) x.rbegin(), x.rend() #define INF 1LL << 60 #define chmin(a, b) a = min(a, b) #define chmax(a, b) a = max(a, b) void solve() { string r; string s; int k; cin >> r >> s >> k; int n = r.length(); if (s == "Warong") { bool foundW = false; int widx = 0; int cnt = 0; for (int i = 0;i < n;i++) { if (r[i] == '?') { if (i < k) r[i] = 'A'; else { cnt++; widx = i; } } if (r[i] == 'W') { foundW = true; } } if (!foundW && cnt == 1) { cout << cnt << endl; r[widx] = 'W'; } } else { bool allA = true; int cnt = 0; int idx = 0; bool foundW = false; for (int i = 0;i < n;i++) { if (i < k && r[i] == '?') { cnt++; idx = i; } if (i < k && r[i] == 'W') { allA = false; } } if (cnt == 1 && allA) { r[idx] = 'W'; } else if (cnt == 0 && allA) { for (int i = 0;i < n;i++) { if (r[i] == '?') { r[i] = 'A'; } } } } cout << r << endl; } int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; while (n--) { solve(); } }