#include<iostream>
#include<cstring>
using namespace std;
#define N 10000
char a[N],b[N];
int a1[N],b1[N];
int c[2*N];
void check(int x){
if(c[x]>=10){
c[x+1]+=c[x]/10;
c[x]=c[x]%10;
check(x+1);
}
return;
}
int main(){
memset(c,0,2*N);
memset(a,0,N);
memset(b,0,N);
cin>>a;cin>>b;
int alen,blen;
alen=strlen(a)-1;
blen=strlen(b)-1;
for(int i=0;i<=alen;i++)a1[i]=a[alen-i]-'0';
for(int i=0;i<=blen;i++)b1[i]=b[blen-i]-'0';
int len=alen>blen?alen:blen;
for(int i=0;i<=len;i++){
c[i]+=(a1[i]+b1[i])%10;
c[i+1]+=(a1[i]+b1[i])/10;
check(i);check(i+1);
}
bool flag=0;
int l;
for(int i=2*N;i>=0;i--){
if(flag)break;
if(c[i]!=0){
flag=1;
l=i;
break;
}
}
for(int i=l;i>=0;i--)cout<<c[i];
return 0;
}