#include<cstdio>
#include<string>
#include<vector>
#include<stack>
#include<vector>
using namespace std;
int main() {
char buffer1[1000];
char buffer2[1000];
//stack<char> sta;
vector<char> vec;
while (scanf("%s %s", buffer1, buffer2) != EOF) {
string str1 = buffer1;
string str2 = buffer2;
int i = str1.size() - 1, j = str2.size() - 1;
int flag = 0;
while (i>= 0 && j>= 0) {
char x = str1[i] + str2[j] - '0' + flag;
flag = 0;
if (x > '9') {
flag = 1;
x = x - 10;
}
//sta.push(x);
vec.push_back(x);
i--;
j--;
}
if (flag == 1 && i < 0 && j < 0) {
vec.push_back('1');
}
while(i >= 0) {
//sta.push(str1[i--]);
if (flag + str1[i] > '9') {
vec.push_back(flag+str1[i]-10);
}
else
vec.push_back(flag + str1[i]);
flag = (flag + str1[i] - '0') / 10;
i--;
}
while (j >= 0) {
//sta.push(str2[j--]);
if (flag + str2[j] > '9') {
vec.push_back(flag + str2[j] - 10);
}
else
vec.push_back(flag + str2[j]);
flag = (flag + str2[j] - '0') / 10;
j--;
}
/*while (!sta.empty()) {
printf("%c", sta.top());
sta.pop();
}*/
for (int i = vec.size() - 1; i >= 0; i--) {
printf("%c", vec[i]);
}
printf("\n");
vec.clear();
}
}