use std::io::BufWriter; use std::io::Write; use proconio::{input, marker::Chars}; fn main() { input! { t: usize } let mut writer = BufWriter::new(std::io::stdout().lock()); for _ in 0..t { input! { _n: usize, s: Chars, } let ans = solve(s); writeln!(writer, "{ans}").unwrap(); } } fn solve(mut s: Vec) -> String { let n = s.len(); if n <= 2 { let ans = std::iter::repeat_n('B', n).collect(); return ans; } match (s[0], s[1]) { ('A', 'A') | ('B', 'A') => { let r = (2..n).find(|&i| s[i] == 'A').unwrap_or(n); s[2..r].fill('A'); } ('A', 'B') => { let l = (2..n).find(|&i| s[i] == 'B').unwrap_or(n); let r = (l..n).find(|&i| s[i] == 'A').unwrap_or(n); s[l..r].fill('A'); } ('B', 'B') => (), _ => unreachable!(), } s[0..2].fill('B'); s.iter().collect() } // ABxxxx // BBxxxx