#include<iostream>
#include<vector>
#include<string>
using namespace std;
string multiply(string num1, string num2) {
int m = num1.size(), n = num2.size();
vector<int> res(m + n, 0);
for (int i = m - 1; i >= 0; --i) {
for (int j = n - 1; j >= 0; --j) {
int mul = (num1[i] - '0') * (num2[j] - '0');
int sum = mul + res[i + j + 1];
res[i + j] += sum / 10;
res[i + j + 1] = sum % 10;
}
}
// 跳过前导0
int i = 0;
while (i < m + n && res[i] == 0) {
++i;
}
// 将结果转换为字符串
string result = "";
for (; i < m + n; ++i) {
result.push_back(res[i] + '0');
}
// 特殊情况:如果结果为空,返回"0"
return result.empty() ? "0" : result;
}
int main() {
string num1 = "1234213123213123214";
string num2 = "56781212131331";
cout << multiply(num1, num2) << endl;
return 0;
}