fn main() { let mut n = String::new(); std::io::stdin().read_line(&mut n).ok(); let mut n: usize = n.trim().parse().unwrap(); let mut orgn = n; let mut length = 1; while n / 26 > 0 { length += 1; n /= 26; } let alphabets: Vec = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".chars().map(|c| c.to_string()).collect(); let mut result: Vec = vec![]; for i in (0..length).rev() { let v = orgn / 26usize.pow(i); orgn -= v * 26usize.pow(i); let v = v - if i > 0 && v == 1 && i == length-1 { 1 } else { 0 }; let appends = alphabets[v].clone(); result.push(appends); } println!("{}", result.join("")); }