#include <iostream>
#include <vector>
#include <algorithm>
#include <unordered_map>
using namespace std;
int a[505], b[505], c[505];
int main() {
string s1, s2;
getline(cin, s1);
getline(cin, s2);
if (s1 == "0" || s2 == "0") {
cout << 0;
return 0;
}
int alen = s1.size(), blen = s2.size(), clen = max(alen, blen) + 1;
for (int i = 0; i < alen; i++) {
a[alen - i] = s1[i] - '0';
}
for (int i = 0; i < blen; i++) {
b[blen - i] = s2[i] - '0';
}
for (int i = 1; i <= clen; i++) {
c[i] += a[i] + b[i];
c[i + 1] += c[i] / 10;
c[i] %= 10;
}
int pos = clen;
while (a[pos] == 0 && pos >= 0)
pos--;
for (int i = pos; i >= 1; i--) {
cout << c[i];
}
return 0;
}