#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
string a, b;
cin >> a >> b;
// 反转字符串以方便从低位开始处理
reverse(a.begin(), a.end());
reverse(b.begin(), b.end());
int n = a.size();
int m = b.size();
vector<int> c(n + m, 0); // 初始化结果数组,长度足够且全为0
// 累加所有乘积到对应位置
int cf=0;
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j) {
c[i + j] += (a[i] - '0') * (b[j] - '0');
c[i+j+1]+=c[i+j]/10;
c[i+j]%=10;
}
}
reverse(c.begin(),c.end());
bool lz=1;
string cc;
for(int i=0;i<c.size();i++)
{
if(lz==1&&c[i]==0)
{
continue;
}
else{
lz=0;
cc.push_back(c[i]+'0');
}
}
if(cc.empty()){
cc="0";
}
cout<<cc;
return 0;
}