#include <stdio.h>
#include <string.h>
/*
高精度大数相加,未判断输入负数情况 位数(1000以内)
*/
int main()
{
char a[1000],b[1000];
int c[1002]={0};
int n[1000]={0},m[1000]={0};//这三个数组必须初始化为0;
int p=0;
int i,j,k=0;
scanf ("%s%s",a,b);
if (a[0]=='0'&&b[0]=='0')
{printf ("0"); //判断输入为0时
return 0;}
else
{
int x=strlen(a),y=strlen(b);//计算输入的数字长度

for (i=0,j=x-1;i<x;i++,j--)
n[i]=a[j]-'0';
for (i=0,j=y-1;i<y;i++,j--)
m[i]=b[j]-'0';//逆序排序


k=x>y?x:y; //判断输入的那个位数长

for (i=0;i<=k;i++)//进位处理 ,相比于i<=2000,优化效率
{
c[i]+=n[i]+m[i];
if (c[i]>=10)
{
c[i+1]++;
c[i]%=10;
}
}

for (j =1001;; j--) //去除未用到的位,即去 0
if (c[j] != 0)

{
p=j;
break;
}

for (i = p; i >= 0; i--)
printf("%d", c[i]);//逆序输出
printf("\n");
return 0;
}
}