#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
****************************************************************/