#include #define MAX 40 int main(void) { char n1[MAX]; char n2[MAX]; char n3[MAX]; int s1, s2; int i,j; char c; int chng; int size1,size2,size3; while (1) { scanf("%s %s",&n1,&n2); s1=0; s2=0; while (n1[s1]) { n1[s1]-='0'; s1++; } i=s1; while (i++=2) if ((n3[j-1]>0)&&(n3[j-2]>0)) { n3[j]++; n3[j-1]--; n3[j-2]--; chng=1; } if (n3[j-1]>1) { n3[j-1]-=2; n3[j]++; n3[j-3]++; chng=1; } } } */ chng=1; while (chng) { chng=0; for (j=MAX-1;j>=1;j--) { if (j>=2) if ((n3[j-1]>0)&&(n3[j-2]>0)) { n3[j]++; n3[j-1]--; n3[j-2]--; chng=1; } if (n3[j-1]>1) { n3[j-1]-=2; n3[j]++; n3[j-3]++; chng=1; } } } chng=1; while (chng) { chng=0; for (j=MAX-1;j>=1;j--) { if (j>=2) if ((n1[j-1]>0)&&(n1[j-2]>0)) { n1[j]++; n1[j-1]--; n1[j-2]--; chng=1; } if (n1[j-1]>1) { n1[j-1]-=2; n1[j]++; n1[j-3]++; chng=1; } } } chng=1; while (chng) { chng=0; for (j=MAX-1;j>=1;j--) { if (j>=2) if ((n2[j-1]>0)&&(n2[j-2]>0)) { n2[j]++; n2[j-1]--; n2[j-2]--; chng=1; /*continue;*/ } if (n2[j-1]>1) { n2[j-1]-=2; n2[j]++; n2[j-3]++; chng=1; /*continue;*/ } } } size1=MAX-1; size2=MAX-1; size3=MAX-1; while (!n1[--size1]) ; while (!n2[--size2]) ; while (!n3[--size3]) ; size1++; size2++; size3++; for (i=size1-1;i=0;i--) putc(n1[i]+'0',stdout); putc('\n',stdout); putc('+',stdout); for (i=size2-1;i=0;i--) putc(n2[i]+'0',stdout); printf("\n "); for (i=0;i=0;i--) putc(n3[i]+'0',stdout); printf("\n\n"); } return 0; }