#include<iostream>
using namespace std;
struct hugeint{
int num[2005]={0};
int len=0;
};
hugeint strtoint(string s){
hugeint ans;
for(int i=s.size()-1;i>=0;i--)
{
ans.num[++ans.len]=s[i]-'0';
}
return ans;
}
void printint(hugeint n){
int f=n.len;
while((n.num[f]==0)&&(f!=1))
f--;
for(int i=f;i>=1;i--)
{
cout<<n.num[i];
}
cout<<endl;
}
hugeint add(hugeint a,hugeint b){
hugeint ans;
ans.len=a.len+b.len-1;
for(int j=1;j<=a.len;j++)
for(int i=1;i<=b.len;i++)
{
ans.num[i+j-1]+=a.num[i]*b.num[j];
ans.num[i+j]+=ans.num[i+j-1]/10;
ans.num[i+j-1]=ans.num[i+j-1]%10;
}
if(ans.num[ans.len+1]>0)
ans.len++;
return ans;
}
int main()
{
char a[2005],b[2005];
cin>>a>>b;
hugeint n1=strtoint(a);
hugeint n2=strtoint(b);
printint(add(n1,n2));
return 0;
}