#include <iostream>
using namespace std;
const int N = 500 + 20;
short int a[N]= {0},b[N]= {0},c[N]= {0};//初始化数组
int main() {
string str1, str2;
int len1,len2,len;
int i;
cin >> str1 >> str2;
len1=str1.length();
len2=str2.length();
for(i=0; i<=len1-1; i++)
a[i]=str1[len1-i-1]-'0';//反转存入整型数组
for(i=0; i<=len2-1; i++)
b[i]=str2[len2-i-1]-'0';
len=(len1>len2)?len1:len2;
for(i=0; i<len; i++) { //从低位开始逐位相加
c[i]+=a[i]+b[i];
if(c[i]>9) { //处理有进位的情况
c[i]-=10;
c[i+1]++;
}
}
if(c[len])len++;//最高位有进位时修正长度
for(i=len-1; i>=0; i--)
cout << c[i];
cout << endl;
return 0;
}