#include<iostream>
#include<string>
#include<cstring>
using namespace std;
int main()
{
string numA;
string numB;
int number1[500] = {0};
int number2[500] = {0};
int result[501] = {0};
int i, j;
cin >> numA >> numB;
for( i = 0, j = numA.length() - 1; j >= 0; i ++, j -- ) //将字符逆序存入整型数组。
{
number1[i] = numA[j] - '0';
}
for( i = 0, j = numB.length() - 1; j >= 0; i ++, j -- ) //将字符逆序存入整型数组。
{
number2[i] = numB[j] - '0';
}
int max = (numA.length() > numB.length()) ? numA.length() : numB.length();
//计算哪个加数大
int temp = 0;
for( int i = 0; i <= max; i ++ )
{
result[i] = number1[i] + number2[i] + temp;
if( result[i] >= 10 )
{
temp = 1;
result[i] %= 10;
}
else
{
temp = 0;
}
}
//计算最高位是否需要进位
if( result[max] == 0 )
max = max - 1;
for( int i = max; i >= 0; i --)
cout << result[i];
cout << endl;
return 0;
}