// yukicoder My Practice // author: Leonardone @ NEETSDKASU use std::io; fn read_int64() -> i64 { let mut val_str = String::new(); io::stdin().read_line(&mut val_str).ok().expect(""); return val_str.trim().parse().ok().expect(""); } fn main() { let al : Vec = String::from("ABCDEFGHIJKLMNOPQRSTUVWXYZ").chars().collect(); let n = read_int64() + 1; let mut s : i64 = 1; let mut d1 : i64 = 1; let mut d2 : i64 = 26; let mut ans = String::new(); loop { let idx = (((n - s) % d2) / d1) as usize; ans.insert(0, al[idx]); d1 = d2; d2 *= 26; s += d1; if s > n { break; } } println!("{}", ans); }