#include<iostream.h>
#include<string.h>
#include<math.h>
#include<iomanip.h>
char s[100];
char chu[1000][100];
//由於每一次輸出chu,之後如果又使用chu的話,chu裡面的資料並
//沒有消去,則有問題,所以開了一個字串數組1000位,但這好
//像並沒有解決實際問題……
int main()
{
long from,to,a,i,j,k,temp,sum,jishu=0;
while((cin>>s>>from>>to)!=NULL)
{
sum=0;
k=strlen(s);
for(i=0;i<k;i++)
{
if(s[i]>'9')
a=s[i]-'A'+10;
else
a=s[i]-'0';
sum+=pow(from,k-i-1)*a;
}
if(to!=10)
{
j=0;
while(sum!=0)
{
if(sum%to>=10)
chu[jishu][j]=sum%to-10+'A';
else
chu[jishu][j]=sum%to+'0';
sum/=to;
j++;
}
for(i=0;i<j/2;i++)
{
temp=chu[jishu][i];
chu[jishu][i]=chu[jishu][j-i-1];
chu[jishu][j-i-1]=temp;
}
if(strlen(chu[jishu])<=7)
cout<<setiosflags(ios::right)<<setw(7)<<chu[jishu]<<endl;
else
cout<<setiosflags(ios::right)<<setw(7)<<"ERROR"<<endl;
}
else
{
if(sum/10000000==0)
cout<<setiosflags(ios::right)<<setw(7)<<sum<<endl;
else
cout<<setiosflags(ios::right)<<setw(7)<<"ERROR"<<endl;
}
jishu++;
}
return 0;
}