/**
*
* 进制转换 习题6.4 王道P89
*/
#include <iostream>
#include <cstdio>
#include <string>
#include <vector>
using namespace std;
int CharToInt(char c){
if(c>='0' && c<='9') return c-'0';
else if(c>='a' && c<='z') return c-'a' + 10;
else return c-'A' + 10;
}
char IntToChar(int x){
if(x < 10) return x+'0';
else return x-10+'A';
}
int main(){
int m,n;
string str;
// while(scanf("%d %s %d",m,str,n) != EOF){ //语法错误 todo 不能用%s直接输入??
while(cin>>m>>str>>n){
long long number = 0;
//m进制转换为10进制
for(int i=0;i<str.size();++i){
//cout<<"size:"<<str.size()<<endl;
number *= m;
number += CharToInt(str[i]);
}
//10进制转换为n进制
vector<char> answer;
while(number != 0){
answer.push_back(IntToChar(number % n));
number /= n;
}
for(int i=answer.size() - 1;i>=0;--i){
// cout<<"size:"<<str.size()<<"elements:"<<answer[i]<<endl;
printf("%c",answer[i]);
}
printf("\n");
}
return 0;
}
/**
* 本地结果正确
* 但是OJ超时 暂时不管
* 习题6.2P69
*/
#include <iostream>
#include <cstdio>
#include <vector>
using namespace std;
int main(){
int n;
// long long a,b;
int a,b;
while (true){
scanf("%d",&n);
if(n == 0) break;
// scanf("%lld%lld",&a,&b);
scanf("%d%d",&a,&b);
long number = a+b;
vector<char> answer;
while(number != 0){
answer.push_back(number % n); //题干要求较松
number /= n;
}
for(int i = answer.size()-1;i>=0;--i){
printf("%d",answer[i]);
}
printf("\n");
}
return 0;
}