use proconio::{fastout, input, marker::Chars}; fn solve() -> String { input! { r: Chars, s: String, k: usize, } let mut ans = r.clone(); if s == "Warong" { for i in 0..k { ans[i] = 'A'; } let [w, q] = ans[k..].iter().fold([0; 2], |mut acc, &c| { if c == 'W' { acc[0] += 1 } else if c == '?' { acc[1] += 1 } acc }); if w == 0 && q == 1 { for c in ans[k..].iter_mut() { if *c == '?' { *c = 'W'; } } } } else { if r[0..k].iter().all(|&c| c == 'A') { for c in &mut ans[k..] { if *c == '?' { *c = 'A'; } } } } ans.iter().collect() } #[fastout] fn main() { input! { t: usize, } for _ in 0..t { println!("{}", solve()); } }