#include<bits/stdc++.h>
using namespace std;
int sz(char s){
if(s=='1'){
return 1;
}
if(s=='2'){
return 2;
}
if(s=='3'){
return 3;
}
if(s=='4'){
return 4;
}
if(s=='5'){
return 5;
}
if(s=='6'){
return 6;
}
if(s=='7'){
return 7;
}
if(s=='8'){
return 8;
}
if(s=='9'){
return 9;
}
if(s=='0'){
return 0;
}
if(s=='A'){
return 10;
}
if(s=='B'){
return 11;
}
if(s=='C'){
return 12;
}
if(s=='D'){
return 13;
}
if(s=='E'){
return 14;
}
if(s=='F'){
return 15;
}
}
char zm(int n){
if(n==0){
return '0';
}
if(n==1){
return '1';
}
if(n==2){
return '2';
}
if(n==3){
return '3';
}
if(n==4){
return '4';
}
if(n==5){
return '5';
}
if(n==6){
return '6';
}
if(n==7){
return '7';
}
if(n==8){
return '8';
}
if(n==9){
return '9';
}
if(n==10){
return 'A';
}
if(n==11){
return 'B';
}
if(n==12){
return 'C';
}
if(n==13){
return 'D';
}
if(n==14){
return 'E';
}
if(n==15){
return 'F';
}
}
stack<int> st,st1;
int main(){
int a,b;
scanf("%d",&a);
string s;
cin>>s;
scanf("%d",&b);
int slen=s.length();
long long n=0;
for(int i=slen-1;i>=0;i--){
n+=pow(a,i)*sz(s[i]);
}
while(n>0){
st.push(n%b);
n=n/b;
}
while(!st.empty()){
cout<<zm(st.top());
st.pop();
}
return 0;
}