#include<stdio.h>
#include<string.h>
int len;
void plus(int a[],int b[])
{
int i;
len=a[0]>b[0]?a[0]:b[0];
for(i=1;i<=len;i++)
{
a[i]+=b[i];
if(a[i]>=10)
{
a[i+1]++;
a[i]=a[i]%10;
}
}
if(a[len+1]!=0)
len++;//a[0]是加数的长度 a[0]=len;
}
int main()
{
int i;
char str1[401],str2[401];
int a[401]={0},b[401]={0},c[403]={0};
while(1)
{
memset(str1,0,sizeof(str1));
memset(str2,0,sizeof(str2));
if(gets(str1)==NULL||gets(str2)==NULL)//不是EOF
break;
a[0]=strlen(str1);
for(i=a[0];i>=1;i--)
a[i]=str1[a[0]-i]-'0';
/*
for(i=1;i<=a[0];i++)
printf("%d ",a[i]);
putchar('\n');
*/
for(i=0;i<=a[0];i++)
c[i]=a[i];
b[0]=strlen(str2);
//逆序,也就是说,最低位在 a[1]
for(i=b[0];i>=1;i--)
b[i]=str2[b[0]-i]-'0';
plus(a,b);
for(i=c[0];i>=1;i--)//用c[i]不用a[i]是因为a[i]已经变化
printf("%d",c[i]);
printf(" + ");
for(i=b[0];i>=1;i--)
printf("%d",b[i]);//b[i]未变,此处可以继续用,不用一开始设置临时变量
printf(" = ");
for(i=len;i>=1;i--)
printf("%d",a[i]);
putchar('\n');
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
}
return 0;
}