#include <bits/stdc++.h>
using i64 = long long;
std::vector<int> add(std::vector<int> &A, std::vector<int> &B) {
std::vector<int> C;// A + B
int carry = 0;// 表示进位
for (int i = 0; i < A.size() || i < B.size(); i ++) {
if (i < A.size()) {
carry += A[i];
}
if (i < B.size()) {
carry += B[i];
}// 逐位相加,包括进位
C.push_back(carry % 10);// 获取当前数位的值
carry /= 10;// 抹去个位数字
}
if (carry) {
C.push_back(1);
}// 进位处理
return C;
}
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
std::string a, b;// a = 654321, b = 123456
std::cin >> a >> b;
std::vector<int> A, B;// A = [1, 2, 3, 4, 5, 6], B = [6, 5, 4, 3, 2, 1]
for (int i = a.size() - 1; i >= 0; i --) {
A.push_back(a[i] - '0');
}
for (int i = b.size() - 1; i >= 0; i --) {
B.push_back(b[i] - '0');
}
auto C = add(A, B);// C = [7, 7, 7, 7, 7, 7]
for (int i = C.size() - 1; i >= 0; i --) {
std::cout << C[i];
}
return 0;
}