#include<bits/stdc++.h>
using namespace std;
string s1,s2;
int a[250],b[250],c[250];
int main(){
	//输入原有的两个字符串 
	cin>>s1>>s2;
	//倒过来将s1字符串里的每个数转成数字放入数组a 
	for(int i=s1.size()-1;i>=0;i--){
		a[s1.size()-1-i]=s1[i]-'0';
	}
   //倒过来将s2字符串里的每个数转成数字放入数组b 
   	for(int i=s2.size()-1;i>=0;i--){
		b[s2.size()-1-i]=s2[i]-'0';
	}
	//验证一下a数组和b数组是否有倒叙
//	 for(int i=0;i<s1.size();i++){
//	 	cout<<a[i];
//	 }
//	 cout<<endl;
//	  for(int i=0;i<s2.size();i++){
//	 	cout<<b[i];
//	 }
	//将a数组和b数组对应的每一位数进行相加,然后放在c数组当中
	//判断一下加的次数,取决于s1和s2谁更长
	int len=max(s1.size(),s2.size());
	for(int i=0;i<len;i++){
		c[i]=a[i]+b[i];
	} 
	//验证c数组相加的结果对不对
//	for(int i=0;i<len;i++){
//	      cout<<c[i]; 
//	} 
	//进位
	for(int i=0;i<len;i++){
		if(c[i]>9){
			c[i+1]=c[i+1]+c[i]/10;
			c[i]=c[i]%10;
		}
	} 
	//再次验证
	if(c[len]!=0) len++;
//	for(int i=0;i<len;i++){
//	      cout<<c[i]; 
//	} 
	//倒叙输出
	for(int i=len-1;i>=0;i--){
		cout<<c[i];
	} 
	 
	return 0;
}

/**************************************************************
	Problem: 1268
	User: hulaoshi
	Language: C++
	Result: Accepted
	Time:28 ms
	Memory:2080 kb
****************************************************************/