#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;
}