// 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(""); } // 解説読後 // http://yukicoder.me/problems/904/editorial // めっちゃシンプルなのか・・・ fn main() { let al : Vec = String::from("ABCDEFGHIJKLMNOPQRSTUVWXYZ").chars().collect(); let mut n = read_int64() + 1; let mut ans = String::new(); loop { n -= 1; let idx = (n % 26) as usize; ans.insert(0, al[idx]); n /= 26; if n == 0 { break; } } println!("{}", ans); }