#include<stdio.h>
int da(int a){
long long sum=0,b[10005],cnt=0;
while(a>0){
cnt++;
b[cnt]=a%10;
a/=10;
}
for(int i=1;i<=cnt;i++){
if(b[i]>sum) sum=b[i];
}
return sum;
}
int njz(int a,int i){
long long b[10005],cnt=0,sum=1,l=0,da=0;
while(a>0){
cnt++;
b[cnt]=a%10;
a/=10;
}
for(int j=1;j<=cnt;j++){
l+=sum*b[j];
sum*=i;
}
return l;
}
int main(){
long long q,p,r,cnt=0,z=0;
scanf("%lld%lld%lld",&q,&p,&r);
if(da(q)>da(p)&&da(q)>da(r)) z=da(q);
else if(da(p)>da(q)&&da(p)>da(r)) z=da(p);
else if(da(r)>da(q)&&da(r)>da(p)) z=da(r);
for(int i=z;i<=16;i++){
if(njz(q,i)*njz(p,i)==njz(r,i)){
printf("%d",i);
cnt=1;
break;
}
}
if(cnt==0) printf("0");
}