fn basefrom10(n: usize, base: usize) -> String { let BASE: Vec = "0123456789abcdefghijklmnopqrstuvwxyz".chars().collect(); let mut ex = 1u32; while n > base.pow(ex) - 1 { ex+=1; } let mut rest = n; (0..ex).rev().map(|i| { let temp = base.pow(i); let ret = rest / temp; rest -= ret * temp; BASE[ret].to_string() }) .collect::>() .join("") } fn main() { let mut n = String::new(); std::io::stdin().read_line(&mut n).ok(); let n: usize = n.trim().parse().unwrap(); let mut m = String::new(); std::io::stdin().read_line(&mut m).ok(); let m: usize = m.trim().parse().unwrap(); println!("{}", basefrom10(m, n)); }