#include<stdio.h>
#include<string.h>
void main()
{
int num_a[500]={0};//数组初始化一定要
int num_b[500]={0};
int result[500]={0};
char a[500],b[500];
scanf("%s",a);
scanf("%s",b);
int len_a,len_b;
len_a=strlen(a);
len_b=strlen(b);
int i,j;
for(i=0,j=len_a-1;j>=0;i++,j--)
num_a[i]=a[j]-48;
for(i=0,j=len_b-1;j>=0;i++,j--)
num_b[i]=b[j]-48;
int max_len,temp=0;
max_len=len_a>len_b?len_a:len_b;
// 一定要是<=maxLen,否则最高位没法进位
for(i = 0;i<= max_len;i++)
{
result[i] = num_a[i]+num_b[i]+temp;
if(result[i] >= 10)
{// 两个数相加最多进1
temp = 1;
// 进位,模10取余数就得到个位还剩多少
result[i] = result[i] % 10;
}
else
{// 如果没有进位,需要置为0
temp = 0;
}
}
int maxIndex;
// 如果最高位的值为0,说明没有进位
if(0 == result[max_len])
maxIndex = max_len-1;
else
maxIndex = max_len;
// 输出大数相加结果
// 一定要从最高位输出
for(i=maxIndex;i >= 0;i--)
{
printf("%d",result[i]);
}
}