#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: chenlingxuan
	Language: C++
	Result: Accepted
	Time:23 ms
	Memory:2080 kb
****************************************************************/