//高精度加法
#include<string.h>
#include<iostream>
using namespace std;
int main()
{
//初始化两个字符串,用来存放用户输入的数位
int i,j,k,w;
char la[501];
char lb[501];
cin>>la>>lb;
//用两个数组逆序存放两个数位注意到-'0'将字符数字转化为具体数字
int a[strlen(la)];
int b[strlen(lb)];
for( w=0;w<strlen(la);w++)
{
a[strlen(la)-1-w]=la[w]-'0';
}
for( i=0;i<strlen(lb);i++)
{
b[strlen(lb)-1-i]=lb[i]-'0';
}
//将和放到另一个数组中,确定该数组的长度(前两个数组中长度最大的加1)
int len;
if(strlen(la)>strlen(lb))
len=strlen(la);
else
len=strlen(lb);
int c[len+1]={0};
//利用竖式的原理求出加和后的数组
for( j=0;j<len;j++)
{
c[j]+=a[j]+b[j];
c[j+1]+=c[j]/10;
c[j]=c[j]%10;
}
//最后将数组逆序输出
for( k=len-1;k>=0;k--)
{
cout<<c[k];
}
return 0;
}