fn _to_s(acc: String, n: i64, b: i64, cs: &Vec<char>) -> String {
match n {
0 => acc,
_ => _to_s(cs[(n % b) as usize].to_string() + &acc, n / b, b, cs)
}
}
fn to_s(n: i64, b: i64) -> String {
_to_s(String::new(), n, b, &"0123456789abcdefghijklmnopqrstuvwxyz".chars().collect())
}
fn main() {
let mut line = String::new();
if let Ok(_) = std::io::stdin().read_line(&mut line) {
let strs = line.split_whitespace().collect::<Vec<&str>>();
if let Ok(base) = strs[0].parse::<u32>() {
if let Ok(n) = i64::from_str_radix(strs[1], base) {
for b in 2..37 {
println!("{}#{}", b, to_s(n, b));
}
}
}
}
}
Zm4gX3RvX3MoYWNjOiBTdHJpbmcsIG46IGk2NCwgYjogaTY0LCBjczogJlZlYzxjaGFyPikgLT4gU3RyaW5nIHsKICAgIG1hdGNoIG4gewogICAgICAgIDAgPT4gYWNjLCAKICAgICAgICBfID0+IF90b19zKGNzWyhuICUgYikgYXMgdXNpemVdLnRvX3N0cmluZygpICsgJmFjYywgbiAvIGIsIGIsIGNzKQogICAgfQp9CmZuIHRvX3MobjogaTY0LCBiOiBpNjQpIC0+IFN0cmluZyB7CiAgICBfdG9fcyhTdHJpbmc6Om5ldygpLCBuLCBiLCAmIjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiIuY2hhcnMoKS5jb2xsZWN0KCkpCn0KZm4gbWFpbigpIHsKICAgIGxldCBtdXQgbGluZSA9IFN0cmluZzo6bmV3KCk7CiAgICBpZiBsZXQgT2soXykgPSBzdGQ6OmlvOjpzdGRpbigpLnJlYWRfbGluZSgmbXV0IGxpbmUpIHsKICAgICAgICBsZXQgc3RycyA9IGxpbmUuc3BsaXRfd2hpdGVzcGFjZSgpLmNvbGxlY3Q6OjxWZWM8JnN0cj4+KCk7CiAgICAgICAgaWYgbGV0IE9rKGJhc2UpID0gc3Ryc1swXS5wYXJzZTo6PHUzMj4oKSB7CiAgICAgICAgICAgIGlmIGxldCBPayhuKSA9IGk2NDo6ZnJvbV9zdHJfcmFkaXgoc3Ryc1sxXSwgYmFzZSkgewogICAgICAgICAgICAgICAgZm9yIGIgaW4gMi4uMzcgewogICAgICAgICAgICAgICAgICAgIHByaW50bG4hKCJ7fSN7fSIsIGIsIHRvX3MobiwgYikpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cg==