#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int m,n;
string x;
cin>>m>>n>>x;
vector<int> A; //用于存储输入的高精度数
for(int i=0;i<x.size();i++)
{
char c=x[x.size()-1-i]; //判断某一位数字的值是否大于 10并将其存入A中
if(c>='A') A.push_back(c+10-'A'); //和34行代码对比
else A.push_back(c-'0');
}
string res; //存储答案(转换进制后的数值)
if(x=="0") res='0'; //特判
else
{
while(A.size()) //当A的长度为0结束
{
int r=0; //r:余数
for(int i=A.size()-1;i>=0;i--) //短除法
{
A[i]+=r*m; //转换成十进制
r=A[i]%n; //用n进制计算余数
A[i]/=n; //得出商,用于下次短除法
}
while(A.size()&&A.back()==0) A.pop_back(); //删除多余的0
if(r<10) res+=to_string(r);
else res+=r+'a'-10;
}
reverse(res.begin(),res.end());
}
cout<<res<<endl;
return 0;
}