#include<cstdio>
#include<string>
#include<vector>
#include<stack>
#include<vector>
using namespace std;
int main() {
	char buffer1[1000];
	char buffer2[1000];
	//stack<char> sta;
	vector<char> vec;
	while (scanf("%s %s", buffer1, buffer2) != EOF) {
		string str1 = buffer1;
		string str2 = buffer2;
		int i = str1.size() - 1, j = str2.size() - 1;
		int flag = 0;
		while (i>= 0 && j>= 0) {
			char x = str1[i] + str2[j] - '0' + flag;
			flag = 0;
			if (x > '9') {
				flag = 1;
				x = x - 10;
			}
			//sta.push(x);
			vec.push_back(x);
			i--;
			j--;
		}
		if (flag == 1 && i < 0 && j < 0) {
			vec.push_back('1');
		}
		while(i >= 0) {
			//sta.push(str1[i--]);
			if (flag + str1[i] > '9') {
				vec.push_back(flag+str1[i]-10);
			}
			else
				vec.push_back(flag + str1[i]);
			flag = (flag + str1[i] - '0') / 10;
			i--;
		}
		while (j >= 0) {
			//sta.push(str2[j--]);
			if (flag + str2[j] > '9') {
				vec.push_back(flag + str2[j] - 10);
			}
			else
				vec.push_back(flag + str2[j]);
			flag = (flag + str2[j] - '0') / 10;
			j--;
		}
		/*while (!sta.empty()) {
			printf("%c", sta.top());
			sta.pop();
		}*/
		for (int i = vec.size() - 1; i >= 0; i--) {
			printf("%c", vec[i]);
		}
		printf("\n");
		vec.clear();
	}
}