#include<bits/stdc++.h>
using namespace std;
int p,q,s;
char l[25],r[25];
int dp1(int a,int n){
int a1=a,h=0,i=0;
while(a1>0){
int i1=pow(n,i);
h+=(a1%10)*(i1);
a1/=10;
i++;
}
return h;
}
void dp(int n){
int a=s,i=0;
int b[25];
while(a>0){
b[i]=a%n;
a=a/n;
i++;
}
for(int j=0;j<i;j++){
if(b[i-j-1]>=10){
l[j]=b[i-j-1]-10+'A';
}
else l[j]=b[i-j-1]+'0';
}
}
int main(){
scanf("%d%d",&p,&q);
scanf("%s",r);
for(int i=max(p%10,q%10)+1;i<=16;i++){
s=dp1(p,i)*dp1(q,i);
memset(l,0,sizeof(l));
dp(i);
if(strlen(r)==strlen(l)){
if(strcmp(l,r)==0){
printf("%d",i);
return 0;
}
}
}
printf("0");
return 0;
}