高精度 * 高精度 模板
#include <bits/stdc++.h>
using namespace std;
string mul(vector<int>& a, vector<int>& b) {
vector<int> c(a.size() + b.size(), 0);
for (int i = 0; i < a.size(); ++i) {
for (int j = 0; j < b.size(); ++j) {
c[i + j] += a[i] * b[j];
}
}
for (int i = 0, t = 0; i < c.size(); ++i) {
t += c[i];
c[i] = t % 10;
t /= 10;
}
while (c.size() > 1 && c.back() == 0) c.pop_back();
string ans;
for (int i = c.size() - 1; i >= 0; --i) ans += c[i] + '0';
return ans;
}
int main () {
string x, y;
cin >> x >> y;
vector<int> a, b;
for (int i = x.size() - 1; i >= 0; --i) a.push_back(x[i] - '0');
for (int i = y.size() - 1; i >= 0; --i) b.push_back(y[i] - '0');
cout << mul(a, b);
}