#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
string add(string a, string b) {
reverse(a.begin(), a.end());
reverse(b.begin(), b.end());
int sz = max(a.size(), b.size());
for (int i = a.size(); i < sz; i++) a.push_back('0');
for (int i = b.size(); i < sz; i++) b.push_back('0');
string ans(sz + 1, '0');
int carry = 0;
for (int i = 0; i < sz; i++) {
int tmp = carry + a[i] + b[i] - 2*'0';
ans[i] = tmp%10 + '0';
if (tmp >= 10) carry = 1;
else carry = 0;
}
if (ans.back() == '0') ans.pop_back();
reverse(ans.begin(), ans.end());
return ans;
}
int main() {
string a, b;
while (cin >> a >> b) {
cout << add(a, b) << endl;
}
return 0;
}