#include <cstdio>
#include <cstring>
using namespace std;
struct big_number {
int d[1001], len;
big_number() {
memset(d, 0, sizeof(d));
len = 0;
}
};
big_number change(char s[]) {
big_number ans;
int len = strlen(s);
ans.len = len;
for (int i = 0; i < len; ++i) {
ans.d[i] = s[len - i - 1]-'0';
}
return ans;
}
big_number b_plus(const big_number &a, const big_number &b) {
big_number ans;
int carry = 0;
int i;
for (i = 0; i < a.len || i < b.len; ++i) {
int temp = a.d[i] + b.d[i] + carry;
carry = temp / 10;
ans.d[i] = temp % 10;
}
if (carry != 0) ans.d[i++] = carry;
ans.len = i;
return ans;
}
int main() {
char s1[1001], s2[1001];
while (scanf("%s %s", s1, s2) != EOF) {
big_number a = change(s1);
big_number b = change(s2);
big_number ans = b_plus(a, b);
for (int i = ans.len - 1; i >= 0; --i) {
printf("%d", ans.d[i]);
}
printf("\n");
}
return 0;
}