#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int p=10010;
char a1[p],b1[p];
int a[p],b[p],c[p];
int main()
{ int la,lb,lc,x,z,m;
cin>>a1;
cin>>b1;
la=strlen(a1);
lb=strlen(b1);
for(int i=0;i<=la-1;i++)
a[la-i]=a1[i]-48;
for(int i=0;i<=lb-1;i++)//注意这里i从0开始,到lb-1结束;
b[lb-i]=b1[i]-48;
lc=1;x=0;
while(lc<=la+1||lc<=lb+1)
{
//cout<<a[lc]<<" "<<b[lc]<<endl;
c[lc]=a[lc]+b[lc]+x; //两数相加
if(c[lc]>=10)
{x=1; //要进的位
c[lc]=c[lc]-10; //进位后的数
}else x=0;
lc++; //数组下标加1
}
if(lc==3&&c[lc]==0)
cout<<0;
else{
while(c[lc]==0)
lc--; //处理最高进位
for (int i=lc;i>=1;i--)
{
cout<<c[i]; //输出结果
}
}
cout<<endl;
return 0;
}
//下面是自己的想法
//原进位
// while(lc<=la||lc<=lb)
// {
// c[lc]=a[lc]+b[lc]+x; //两数相加
// x=c[lc]/10; //要进的位
// c[lc]=c[lc]%10; //进位后的数
// lc++; //数组下标加1
// }
#include<cstdio>
#include<cstring>
using namespace std;
const int p=10010;
char a1[p],b1[p];
int a[p],b[p],c[p];
int main()
{ int la,lb,lc,x,z,m;
cin>>a1;
cin>>b1;
la=strlen(a1);
lb=strlen(b1);
for(int i=0;i<=la-1;i++)
a[la-i]=a1[i]-48;
for(int i=0;i<=lb-1;i++)//注意这里i从0开始,到lb-1结束;
b[lb-i]=b1[i]-48;
lc=1;x=0;
while(lc<=la+1||lc<=lb+1)
{
//cout<<a[lc]<<" "<<b[lc]<<endl;
c[lc]=a[lc]+b[lc]+x; //两数相加
if(c[lc]>=10)
{x=1; //要进的位
c[lc]=c[lc]-10; //进位后的数
}else x=0;
lc++; //数组下标加1
}
if(lc==3&&c[lc]==0)
cout<<0;
else{
while(c[lc]==0)
lc--; //处理最高进位
for (int i=lc;i>=1;i--)
{
cout<<c[i]; //输出结果
}
}
cout<<endl;
return 0;
}
//下面是自己的想法
//原进位
// while(lc<=la||lc<=lb)
// {
// c[lc]=a[lc]+b[lc]+x; //两数相加
// x=c[lc]/10; //要进的位
// c[lc]=c[lc]%10; //进位后的数
// lc++; //数组下标加1
// }