#include<bits/stdc++.h>
using namespace std;
string s1,s2 ;
int a[250],b[250],c[250];
int main(){
// 定义(原:dingyi;)
cin>>s1>>s2;
// 倒过来 来运算; → 倒序存储,方便后续运算
for(int i=s1.size();i>=0;i--){
a[s1.size()-1-i]=s1[i]-'0';
}
// 倒过来 来运算; → 倒序存储,方便后续运算
for(int i=s2.size();i>=0;i--){
b[s2.size()-1-i]=s2[i]-'0';
}
// for(int i=0;i<s1.size();i++){
// cout<<a[i]; // 输出数组a的内容(调试用)
//
// }
// cout<<endl;
// for(int i=0;i<s2.size();i++){
// cout<<b[i]; // 输出数组b的内容(调试用)
//
// }
// cout<<endl;
//把计算的数一位一位加入 c 中; → 将两个数的每一位相加,结果存入数组c
int t=max(s1.size(),s2.size());
for(int i=0;i<t;i++){
c[i]=a[i]+b[i];
}
//检查 c 的运算是否错误; → 检查数组c的运算结果是否正确(注:原代码无实际检查逻辑)
//进位 → 处理相加后的进位
for(int i=0;i<t;i++){
if(c[i]>9){
c[i+1]=c[i+1]+c[i]/10;
c[i]=c[i]%10;
}
}
if(c[t]!=0) t++; // 如果最高位有进位,扩展结果长度
//for(int i=0;i<t;i++){
//cout<<c[i]; // 输出数组c的内容(调试用)
//}
for(int i=0;i>=0;i++){
cout<<c[i];
}
}
/**************************************************************
Problem: 1268
User: wuzhijing
Language: C++
Result: Output Limit Exceed
****************************************************************/