#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
using namespace std;
const int MAXN = 10000;
struct BigInteger {
int digit[MAXN];
int length;
BigInteger();
BigInteger(int x);
BigInteger(string str);
BigInteger(const BigInteger& b);
BigInteger operator=(int x);
BigInteger operator=(string str);
BigInteger operator=(const BigInteger& b);
BigInteger operator+(const BigInteger& b);
friend istream& operator>>(istream& cin, BigInteger& b);
friend ostream& operator<<(ostream& cout, const BigInteger& b);
};
BigInteger::BigInteger() {
memset(digit, 0, sizeof(digit));
length = 0;
}
BigInteger::BigInteger(int x) {
memset(digit, 0, sizeof(digit));
length = 0;
if (!x) {
digit[length++] = x;
}
while (x) {
digit[length++] = x % 10;
x /= 10;
}
}
BigInteger::BigInteger(string str) {
memset(digit, 0, sizeof(digit));
length = str.size();
for (int i = 0; i < length; ++i) {
digit[i] = str[length - 1 - i] - '0';
}
}
BigInteger::BigInteger(const BigInteger& b) {
memset(digit, 0, sizeof(digit));
length = b.length;
for (int i = 0; i < length; ++i) {
digit[i] = b.digit[i];
}
}
BigInteger BigInteger::operator=(int x) {
memset(digit, 0, sizeof(digit));
length = 0;
if (!x) {
digit[length++] = x;
}
while (x) {
digit[length++] = x % 10;
x /= 10;
}
return *this;
}
BigInteger BigInteger::operator=(string str) {
memset(digit, 0, sizeof(digit));
length = str.size();
for (int i = 0; i < length; ++i) {
digit[i] = str[length - 1 - i] - '0';
}
return *this;
}
BigInteger BigInteger::operator=(const BigInteger& b) {
memset(digit, 0, sizeof(digit));
length = b.length;
for (int i = 0; i < length; ++i) {
digit[i] = b.digit[i];
}
return *this;
}
BigInteger BigInteger::operator+(const BigInteger& b) {
BigInteger ans;
int carry = 0;
for (int i = 0; i < length || i < b.length; ++i) {
ans.digit[ans.length++] = (digit[i] + b.digit[i] + carry) % 10;
carry = (digit[i] + b.digit[i] + carry) / 10;
}
if (carry) {
ans.digit[ans.length++] = carry;
}
return ans;
}
istream& operator>>(istream& cin, BigInteger& b) {
string in;
cin >> in;
b = in;
return cin;
}
ostream& operator<<(ostream& cout, const BigInteger& b) {
for (int i = b.length - 1; i >= 0; --i) {
cout << b.digit[i];
}
return cout;
}
int main() {
BigInteger a;
BigInteger b;
while (cin >> a >> b) {
cout << a + b << endl;
}
return 0;
}