#include<bits/stdc++.h>
using namespace std;
int a[250],b[250],c[250],p;
string s1,s2;
int main(){
cin>>s1>>s2;
//倒装
for(int i=0;i<s1.size();i++){
a[i]=s1[s1.size()-1-i]-48;
}
for(int i=0;i<s2.size();i++){
b[i]=s2[s2.size()-1-i]-48;
}
//验证
// for(int i=0;i<s1.size();i++){
// cout<<a[i];
// }
// cout<<endl;
// for(int i=0;i<s2.size();i++){
// cout<<b[i];
// }
//相乘
for(int i=0;i<s1.size();i++){
for(int j=0;j<s2.size();j++){
c[i+j]=c[i+j]+a[i]*b[j];
if(c[i+j]>=10){
c[i+j+1]=c[i+j+1]+c[i+j]/10;
c[i+j]=c[i+j]%10;
}
}
}
// for(int i=0;i<s1.size()+s2.size();i++){
// cout<<c[i]<<" ";
// }
// //倒序找出第一个不为0的下标
for(int i=s1.size() +s2.size() ;i>=0;i--){
if(c[i]!=0){
p=i;
break;
}
}
// //从下标p开始输出
for(int i=p;i>=0;i--){
cout<<c[i];
}
}
/**************************************************************
Problem: 1286
User: hulaoshi
Language: C++
Result: Accepted
Time:22 ms
Memory:2080 kb
****************************************************************/