#include <iostream>
#include <bits/stdc++.h>
using namespace std;
typedef unsigned long long ull;
ull p,q,r,p1,q1,r1;
ull minn=-1,maxn=16;//maxn设为36也不行
ull todec(ull x,ull num)
{
ull ans=0;
std::string nus="";
while(num)
{
char ping=(num%10)+'0';
nus=ping+nus;
num/=10;
}
std::reverse(nus.begin(),nus.end());
while(nus!="")
{
int a=nus[0]-'0';
ans*=x;
ans+=a;
nus.erase(0,1);
}
return ans;
}
int main()
{
scanf("%llu%llu%llu",&p,&q,&r);
p1=p;
q1=q;
r1=r;
while(p)
{
minn=max(minn,p%10+1);
p/=10;
}
while(q)
{
minn=max(minn,q%10+1);
q/=10;
}
while(r)
{
minn=max(minn,r%10+1);
r/=10;
}
for(ull i=minn;i<=maxn;i++)
{
if(todec(i,p1)*todec(i,q1)==todec(i,r1))
{
std::cout<<i;
return 0;
}
}
std::cout<<"0";
return 0;
}