#include <iostream>
using namespace std;
class strnum{
private:
int hcf_dvqi(string& s1, string& s2){//-------------使两个数组一样长,并在前面加一个0防止越界,最后返回最终长度
size_t size1 = s1.size(), size2 = s2.size();
if (size1 < size2){
for (int i = 0; i < size2 - size1; i++)
s1 = '0' + s1;
}
if (size1 > size2)
for (int i = 0; i < size1 - size2; i++)
s2 = '0' + s2;
s1 = '0' + s1;
s2 = '0' + s2;
return max(size1, size2) + 1;
}
void hcf_quiuqmdclk(string& ss){//-------------去除前导零
while (ss[0] == '0' && ss.size() != 1)
ss = ss.substr(1, ss.size() - 1);
}
public:
string s;
strnum(string ss){
s = ss;
}
string operator + (strnum& ss){//----------重载运算符‘+’
int size = hcf_dvqi(s, ss.s);
int rest = 0, temp;
string ans = "";
for (int i = size - 1; i >= 0; i--){
temp = ((int)(s[i] + ss.s[i] - '0' - '0') + rest);
rest = temp / 10;//--------进位用
ans = (char)(temp % 10 + '0') + ans;
}
hcf_quiuqmdclk(ans);
return ans;
}
};
int main() {
string s, ss;
cin >> s >> ss;
strnum s1(s), s2(ss);
cout << s1 + s2;
}
// 64 位输出请用 printf("%lld")