#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]-48;
	}
    //将字符s2倒过来装入b数组 
    for(int i=s2.size()-1;i>=0;i--){
		b[s2.size()-1-i]=s2[i]-48;
	}
	//验证是否倒序
	//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数组
	//求相加的次数,取决于数组最长的
	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];
//    }
//    //cout<<len<<endl;
//    //算进位
	for(int i=0;i<len;i++){
	     if(c[i]>9){
	     	c[i]=c[i]%10;
	     	c[i+1]=c[i+1]+1;
		 }
	}
//	//再次验证c数组
//	//for(int i=0;i<len;i++){
//	//cout<<c[i] 
//	//}
//	//倒序输出c数组,c数组的长度是多少
	if(c[len]!=0) len=len+1;
	//cout<<len<<endl;
	for(int i=len-1;i>=0;i--){
		cout<<c[i];
	} 
	return 0;
}

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