#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

vector<int> _add(string lag,string sma){
    vector<int> res;
    int cinx = 0;
    for(int i=0;i<sma.size();i++){
        int temp = ( (lag[i]-'0')+(sma[i]-'0')+cinx )%10;
        // 下一个进位
        cinx = ( (lag[i]-'0')+(sma[i]-'0')+cinx )/10;
        res.push_back(temp);
    }
    // 最后还有一个进位的话直接加入末尾
    if(cinx!=0) res.push_back(cinx);
    return res;
}

int main() {
    string a, b;
    while (cin >> a >> b) { // 注意 while 处理多个 case
        vector<int> res;
        // 逆序 模拟普通加法规则 得到逆序的结果
        std::reverse(a.begin(),a.end());
        std::reverse(b.begin(),b.end());
        int an = a.size();
        int bn = b.size();
        // 填充使长度相等
        if(an<bn){
            for(int i=0;i<bn-an;i++) a+="0";
        }else{
            for(int i=0;i<an-bn;i++) b+="0";
        }
        // 计算
        res = _add(a, b);
        std::reverse(res.begin(),res.end());
        for(auto p:res) cout<<p;
        cout<<endl;
    }
}
// 64 位输出请用 printf("%lld")