#include<bits/stdc++.h>
using namespace std;
//高精度加法
int la,lb,lc;
char s1[2005],s2[2005];
int a[2005],b[2005],c[4010];
int main(){
scanf("%s",s1);
scanf("%s",s2);
la=strlen(s1);lb=strlen(s2);
for(int i=0;i<la;i++){
a[la-i]=s1[i]-'0';
}
for(int i=0;i<lb;i++){
b[lb-i]=s2[i]-'0';
}
lc=max(la,lb)+1;
for(int i=1;i<=lc;i++){
c[i]+=a[i]+b[i];
c[i+1]+=c[i]/10;
c[i]=c[i]%10;
}
if(c[lc]==0&&lc>0)lc--;
for(int i=lc;i>0;i--){
printf("%d",c[i]);
}
return 0;
}
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
using namespace std;
//高精度乘法
int la,lb,lc;
char s1[2005],s2[2005];
int a[2005],b[2005],c[4010];
int main(){
scanf("%s",s1);
scanf("%s",s2);
la=strlen(s1);lb=strlen(s2);
for(int i=0;i<la;i++){
a[la-i]=s1[i]-'0';
}
for(int i=0;i<lb;i++){
b[lb-i]=s2[i]-'0';
}
lc=la+lb;
for(int i=1;i<=la;i++){
for(int j=1;j<=lb;j++){
c[i+j-1]+=a[i]*b[j];
}
}
for(int i=1;i<=lc;i++){
if(c[i]>9){
c[i+1]+=c[i]/10;
c[i]%=10;
}
}
while(c[lc]==0&&lc>1)lc--;
for(int i=lc;i>0;i--){
printf("%d",c[i]);
}
return 0;
}