#include<iostream>
#include<string>
using namespace std;
string multi(string a, string b)
{
int len1 = a.size();
int len2 = b.size();
//int t[MAX];
int len = len1 + len2 + 1;
int *t = new int[len]();
int *x = new int[len1]();
int *y = new int[len2]();
int i, j;
for (int i = 0, j = len1 - 1; j >= 0; i++,j--)//翻转字符串a
{
x[i] = a[j] - '0';
}
for (int i = 0, j = len2 - 1; j >= 0; i++,j--)//翻转字符串b
{
y[i] = b[j] - '0';
}
for(i=0;i<len1;i++)
for (j = 0; j<len2; j++)//将因数各个位上的数字与另一个各个位上的数字相乘
{
t[i + j] = t[i + j] + x[i]*y[j];//先乘起来,后面统一进行进位
}
for (i = 0; i<len; i++)//进行进位
{
if (t[i] >= 10)//若>=10
{
t[i + 1] = t[i + 1] + t[i] / 10; //将十位上数字进位
t[i] %= 10;//将个位上的数字留下
}
}
for (i = len-1; i >= 0; i--) //删除0的前缀
{
if (t[i] == 0) continue;
else break;
}
string str;
for (; i>=0; i--)//倒序输出,保存在str中
{
str += t[i] + '0';
}
delete[]t;
delete[]x;
delete[]y;
return str;
}
int main()
{
string a, b;
cin >> a >> b;
string str = multi(a, b);
cout << str << endl;
system("pause");
return 0;
}