#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;
}