#include <iostream>
#include <vector>
using namespace std;
// 字符串转逆序数字数组
vector<int> str2num(string s) {
vector<int> num;
for (int i = s.size() - 1; i >= 0; i--) {
num.push_back(s[i] - '0');
}
return num;
}
// 输出数字数组
void output(const vector<int>& num) {
for (int i = num.size() - 1; i >= 0; i--) {
cout << num[i];
}
cout << endl;
}
// 高精度乘法
vector<int> multiply(const vector<int>& A, const vector<int>& B) {
vector<int> C(A.size() + B.size(), 0); // 初始化结果数组,长度为A和B长度之和
for (int i = 0; i < A.size(); i++) {
for (int j = 0; j < B.size(); j++) {
C[i + j] += A[i] * B[j]; // 计算每一位的乘积
C[i + j + 1] += C[i + j] / 10; // 处理进位
C[i + j] %= 10; // 保留当前位的个位数
}
}
while (C.size() > 1 && C.back() == 0) {
C.pop_back(); // 去除结果中的前导零
}
return C;
}
int main() {
string a, b;
cin >> a >> b;
vector<int> A = str2num(a), B = str2num(b);
vector<int> result = multiply(A, B);
output(result);
return 0;
}