#include<stdio.h>
#include<string.h>
int main()
{
int biginteger_1[201]={0},biginteger_2[201]={0};//用来存放大整数1、2的数组
char sNum_1[201]={'\0'},sNum_2[201]={'\0'};//用来接收用户输入的字符串形式的大整数
while(scanf("%s%s",sNum_1,sNum_2)!=EOF)
{
int p=strlen(sNum_1),q=strlen(sNum_2),i,j;
//将大整数中的高位储存到整型数组的低位里
for(i=0,j=p-1;j>=0;)
biginteger_1[i++]=sNum_1[j--]-'0';
for(i=0,j=q-1;j>=0;)
biginteger_2[i++]=sNum_2[j--]-'0';
int k=0;
while(k<=200)
{
biginteger_1[k]+=biginteger_2[k];//将大整数从高到低依次相加
if(biginteger_1[k]>=10)
{
biginteger_1[k+1]++;//大于10,进1
biginteger_1[k]-=10;
}
k++;
}
int mark=0;//用来记录第一个不为0的数字的索引
for(i=200;i>=0;i--)
{
if(biginteger_1[i]!=0)
{
mark=i;
break;
}
}
/*
如果i的值等于-1,说明遍历完大整数数组,也没有发现大整数数组中有存在非零的数
因此就可以判定大整数加完之后的结果就是零
*/
if(i==-1)
{
printf("0\n");
}
else
{
for(int i=mark;i>=0;i--)
printf("%d",biginteger_1[i]);
}
printf("\n");
}
return 0;
}