#include <iostream>
#include <string>
#include <sstream>
int num4base(int base, char c) {
if (c >= '0' && c <= '9')
return c - '0';
if (c >= 'a' && c <= 'z')
return c - 'a' + 10;
if (c >= 'A' && c <= 'Z')
return c - 'A' + 10;
return -1;
}
unsigned int interpret4base(int base, const std::string &value) {
unsigned int r = 0;
for (std::string::const_iterator p = value.begin(); p != value.end(); p++) {
r *= base;
r += num4base(base, *p);
}
return r;
}
char digit2char(int v) {
if (v >= 0 && v <= 9)
return v + '0';
if (v >= 10 && v <= 35)
return v - 10 + 'a';
return -1;
}
std::string change4base(int base, unsigned int n) {
std::string ret;
if (n == 0) return "";
ret = change4base(base, n / base);
ret += digit2char(n % base);
return ret;
}
int main() {
std::string linebuff;
while (std::getline(std::cin, linebuff)) {
std::istringstream ss_line(linebuff);
int b;
std::string v;
while (ss_line >> b >> v) {
unsigned int n = interpret4base(b, v);
/**/std::cout << "n = " << n << std::endl;
for (int i = 2; i <= 36; i++) {
std::cout << i << "#";
std::cout << change4base(i, n) << std::endl;
}
}
return 0;
}
}
/* end */
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8c3N0cmVhbT4KCmludCBudW00YmFzZShpbnQgYmFzZSwgY2hhciBjKSB7CiAgaWYgKGMgPj0gJzAnICYmIGMgPD0gJzknKQogICAgcmV0dXJuIGMgLSAnMCc7CiAgaWYgKGMgPj0gJ2EnICYmIGMgPD0gJ3onKQogICAgcmV0dXJuIGMgLSAnYScgKyAxMDsKICBpZiAoYyA+PSAnQScgJiYgYyA8PSAnWicpCiAgICByZXR1cm4gYyAtICdBJyArIDEwOyAgCiAgcmV0dXJuIC0xOwp9Cgp1bnNpZ25lZCBpbnQgaW50ZXJwcmV0NGJhc2UoaW50IGJhc2UsIGNvbnN0IHN0ZDo6c3RyaW5nICZ2YWx1ZSkgewogIHVuc2lnbmVkIGludCByID0gMDsKICBmb3IgKHN0ZDo6c3RyaW5nOjpjb25zdF9pdGVyYXRvciBwID0gdmFsdWUuYmVnaW4oKTsgcCAhPSB2YWx1ZS5lbmQoKTsgcCsrKSB7CiAgICByICo9IGJhc2U7CiAgICByICs9IG51bTRiYXNlKGJhc2UsICpwKTsKICB9CiAgcmV0dXJuIHI7Cn0KCmNoYXIgZGlnaXQyY2hhcihpbnQgdikgewogIGlmICh2ID49IDAgJiYgdiA8PSA5KQogICAgcmV0dXJuIHYgKyAnMCc7CiAgaWYgKHYgPj0gMTAgJiYgdiA8PSAzNSkKICAgIHJldHVybiB2IC0gMTAgKyAnYSc7CiAgcmV0dXJuIC0xOwp9CgoKc3RkOjpzdHJpbmcgY2hhbmdlNGJhc2UoaW50IGJhc2UsIHVuc2lnbmVkIGludCBuKSB7CiAgc3RkOjpzdHJpbmcgcmV0OwogIGlmIChuID09IDApIHJldHVybiAiIjsKICByZXQgPSBjaGFuZ2U0YmFzZShiYXNlLCBuIC8gYmFzZSk7CiAgcmV0ICs9IGRpZ2l0MmNoYXIobiAlIGJhc2UpOwogIHJldHVybiByZXQ7Cn0KCmludCBtYWluKCkgewogIHN0ZDo6c3RyaW5nIGxpbmVidWZmOwogIHdoaWxlIChzdGQ6OmdldGxpbmUoc3RkOjpjaW4sIGxpbmVidWZmKSkgewogICAgc3RkOjppc3RyaW5nc3RyZWFtIHNzX2xpbmUobGluZWJ1ZmYpOwogICAgaW50IGI7CiAgICBzdGQ6OnN0cmluZyB2OwogICAgd2hpbGUgKHNzX2xpbmUgPj4gYiA+PiB2KSB7CiAgICAgIHVuc2lnbmVkIGludCBuID0gaW50ZXJwcmV0NGJhc2UoYiwgdik7CiAgICAgIC8qKi9zdGQ6OmNvdXQgPDwgIm4gPSAiIDw8IG4gPDwgc3RkOjplbmRsOwogICAgICBmb3IgKGludCBpID0gMjsgaSA8PSAzNjsgaSsrKSB7CiAgICAgICAgc3RkOjpjb3V0IDw8IGkgPDwgIiMiOwogICAgICAgIHN0ZDo6Y291dCA8PCBjaGFuZ2U0YmFzZShpLCBuKSA8PCBzdGQ6OmVuZGw7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiAwOwogIH0KfQovKiBlbmQgKi8KCg==