#include<bits/stdc++.h>
using namespace std;
void add(vector<int>&s1,vector<int>&s2){
int l1=s1.size();
int l2=s2.size();
vector<int> res(l1+1,0);
for(int i=0;i<l2;i++){
res[l1-i] = res[l1-i]+s1[l1-i-1]+s2[l2-i-1];
if(res[l1-i] >= 10){
res[l1-i]-=10;
res[l1-i-1]++;
}
}
for(int i=l2;i<l1;i++){
res[l1-i] = res[l1-i]+s1[l1-i-1];
if(res[l1-i] >= 10){
res[l1-i]-=10;
res[l1-i-1]++;
}
}
s1.swap(res);
}
int main(){
int max = 5000;
string ss1,ss2;
cin>>ss1>>ss2;
if(ss1.size()<ss2.size()){
ss1.swap(ss2);
}
vector<int> s1(ss1.size());
vector<int> s2(ss2.size());
vector<int> res(max);
for(int i=0;i<ss1.size();i++){
s1[i]=ss1[i]-'0';
}
for(int i=0;i<ss2.size();i++){
s2[i]=ss2[i]-'0';
}
for(int i=0;i<s2.size();i++){
vector<int> t;
t = s1;
t.insert(t.begin(),0);
int lt = t.size();
int jin = 0;
for(int j=0;j<t.size();j++){
t[lt-j-1] = t[lt-j-1]*s2[s2.size()-i-1]+jin;
if(t[lt-j-1]>=10){
jin = t[lt-j-1]/10;
t[lt-j-1] %= 10;
}
}
for(int j=0;j<i;j++){
t.push_back(0);
}
add(res,t);
}
int x=0;
for(int i=0;i<res.size();i++){
if(res[i]){
x = i;
break;
}
}
if(x == 0){
cout<<0;
return 0;
}
for(int i=x;i<res.size();i++){
cout<<res[i];
}
}