#include<bits/stdc++.h>
#include <vector>
using namespace std;
int cc[2000100];int c,d,e;int A[1000010],B[10000010];//设置数组
void mul(int aa[],int bb[]) {
e=c+d;//e为c*d的最大位数
for (int i = 0; i < c; i++)
for (int j = 0; j < d; j++)
cc[i + j] +=aa[i] * bb[j];
int t = 0;
for (int i = 0;i<e;i++) {
t += cc[i];
cc[i] = t % 10;
t /= 10;
}
while (e>0 && cc[e]==0) e--; // 必须要去前导 0,因为最高位很可能是 0
}
int main() {
char a[10000010],b[10000010];
scanf("%s%s",a,b);
c=strlen(a);d=strlen(b);
int j=0;
for (int i = c - 1; i >= 0; i--)
A[j++]=a[i]-'0';j=0;
for (int i =d - 1; i >= 0; i--)
B[j++]=b[i]-'0';
mul(A,B);
//printf("%d %d ",d,c);
for (int i =e; i >= 0; i--)
printf("%d",cc[i]);
return 0;
}