use proconio::input; // #[proconio::fastout] fn main() { input! { n: usize, } let mut result = Vec::new(); rec(n, 1, &mut result); let text: String = result.into_iter().rev().collect(); println!("{}", text); } fn rec(n: usize, x: usize, result: &mut Vec) -> bool { // println!("x {}", x); if x > n { return false; } if n == x { return true; } if rec(n, x * 2 + 1, result) { result.push('A'); return true; } if rec(n, x * 3 + 1, result) { result.push('B'); return true; } false }