class Program { static void Main() { int T = int.Parse(Console.ReadLine()); for (int i = 0; i < T; i++) { Solve(); } void Solve() { string R = Console.ReadLine(); string S = Console.ReadLine(); int K = int.Parse(Console.ReadLine()); if (S == "Warong") { char[] res = R.ToArray(); for (int i = 0; i < K; i++) { if (res[i] == '?') res[i] = 'A'; } int q_cnt = 0; int w_cnt = 0; for (int i = 0; i < K; i++) { if (res[i] == '?') q_cnt++; if (res[i] == 'W') w_cnt++; } if (q_cnt == 1 && w_cnt == 0) { for (int i = 0; i < K; i++) { if (res[i] == '?') res[i] = 'W'; } } Console.WriteLine(new string(res)); } else { char[] res = R.ToArray(); string r1 = R.Substring(0, K); if (r1.All(_ => _ == 'A')) { for (int i = 0; i < K; i++) { if (res[i] == '?') res[i] = 'A'; } } string r2 = R.Substring(K); if(r2.IndexOf('W') != -1) { int w_cnt = 0; int q_cnt = 0; for (int i = 0; i < K; i++) { if (res[i] == 'W') w_cnt++; if (res[i] == '?') q_cnt++; } if (q_cnt == 1 && w_cnt == 0) { for (int i = 0; i < K; i++) { if (res[i] == '?') res[i] = 'W'; } } } Console.WriteLine(new string(res)); } } } }