#include<iostream>
using namespace std;
#include<algorithm>
#include<cstring>
#include<iomanip>
#include<string>
int a[1024];
//给一个字符,返回其十进制值
int f(char c) {
if (c >= '0'&&c <= '9') {
return c - '0';
}
else if (c >= 'a'&&c <= 'f') {
return c - 'a'+10;
}
else if (c >= 'A'&&c <= 'F') {
return c - 'A'+10;
}
else {
return -1;//error
}
}
//给一个数字,返回对应字符
char f2(int i) {
if (i >= 0 && i <= 9) {
return '0' + i;
}
else if (i >= 10 && i <= 15) {
return 'A' + i - 10;
}
else {
return '#';
}
}
//返回k的i次方
long long int pow(int i, int k) {
long long int res = 1;
while (i != 0) {
res *= k;
i--;
}
return res;
}
string trans(int a, string s, int b) {
long long int sum = 0;
reverse(s.begin(), s.end());
for (int i = 0; i < s.size(); i++) {
sum += f(s[i]) * pow(i, a);
}
string res = "";
while (sum != 0) {
res += f2(sum%b);
sum /= b;
}
reverse(res.begin(), res.end());
return res;
}
int main() {
ios::sync_with_stdio(false);
//cout << pow(1,7) << endl;
int a, b; string s;
while (cin >> a >> s >> b) {
cout << trans(a, s, b) << endl;
}
return 0;
}