#include<stdio.h>
#include<math.h>
int zhuan(int p, int b)
{
int sum = 0;
int i = 0;
int a;
while (p > 0)
{
a = p % 10;
sum = sum + a * pow(b, i++);
p /= 10;
}
return sum;
}
int is(int p, int q, int r, int b)
{
int num1 = zhuan(p, b);
int num2 = zhuan(q, b);
int num3 = zhuan(r, b);
if (num1 * num2 == num3)
return 1;
else
return 0;
}
int find(int p, int q, int r)
{
int max1 = 2;
int max2 = 2;
int max3 = 2;
while (p > 0)
{
int a1 = p % 10;
p /= 10;
if (a1 > max1)
max1 = a1;
}
while (q > 0)
{
int a2 = q % 10;
q /= 10;
if (a2 > max2)
max2 = a2;
}
while (r > 0)
{
int a3 = r % 10;
r /= 10;
if (a3 > max3)
max3 = a3;
}
int MAX1 = (max1 > max2) ? max1 : max2;
int MAX2 = (MAX1 > max2) ? MAX1 : max2;
return MAX2 + 1;
}
int main()
{
int p, q, r;
int flag = 0;
int count = 0;
scanf("%d %d %d", &p, &q, &r);
for (int b = 3; b <= 16; b++)
{
b = find(p, q, r);
flag = is(p, q, r, b);
if (flag)
{
count = b;
break;
}
}
if (flag)
printf("%d", count);
else
printf("0");
return 0;
}