#include <string.h>
#include <stdio.h>
int* mul(int A[], int B[])
{
int i, j, t, C[1000];
memset(C, 0, sizeof(C));
for (i = 1; i <= A[0]; i++)
{
for (t=0, j=1; j <= B[0] || t; j++, t/=10)
C[i+j-1]=(t+=C[i+j-1]+A[i]*B[j])%10;
if (i + j - 2 > C[0]) C[0] = i + j - 2;
}
memcpy(A, C, sizeof(C));
return A;
}
int* trans(int A[],long a)
{int i=1;
while(a)
{A[i]=a%10;
a/=10;i++;
}
A[0]=i-1;
return A;
}
int test(int C[])
{int sw=1,i;
for (i=1;i<=C[0];i++)
{if(C[i]!=0&&C[i]!=1){sw=0;break;}
}
return sw;
}
int main ()
{FILE *f,*ff;
f=fopen("multiplu.in","r");
ff=fopen("multiplu.out","w");
long a,b,i;
int A[1000],B[1000],C[1000];
int r[20]={0,0,5,7,5,2,5,3,5,9};
fscanf(f,"%ld %ld",&a,&b);
mul(trans(A,a),trans(B,b));
if(A[1]==0)
{i=1;
while(!test(mul(trans(A,a),mul(trans(B,b),trans(C,i)))))
{i++;}
for (i=1;i<=A[0];i++)
{fprintf(ff,"%d",A[i]);fclose(ff);return 0;
}
}
else if(A[1]==1)
{i=1;
while(!test(mul(trans(A,a),mul(trans(B,b),trans(C,i)))))
{if(i%10==1){i+=9;}
else i++;
}
for (i=1;i<=A[0];i++)
{fprintf(ff,"%d",A[i]);fclose(ff);return 0;
}
}
else
{i=r[A[1]];
while(!test(mul(trans(A,a),mul(trans(B,b),trans(C,i)))))
{i+=10;
}
for (i=1;i<=A[0];i++)
{fprintf(ff,"%d",A[i]);fclose(ff);return 0;
}
}
}