#include <stdio.h>
#include <string.h>
int stack[1000] = {0}, top=0;
int i,a,b,num=0;
void push(int data)
{
stack[++top]=data;
}
int pop()
{
return stack[top--];
}
int main()
{
int k,p,last, v=0, x, y;
char str[1000]= {};
char str2[1000]= {};
scanf("%s",str);
scanf("%s",str2);
k = strlen(str);
p = strlen(str2);
k--;
p--;
for(;;) {
x = str[k]-'0';
y = str2[p]-'0';
printf("%d %d %d\n", x, y, v);
stack[top++] = (x+y+v)%10;
v = (x+y)/10;
k--;
p--;
if(k<0 || p<0) {
break;
}
}
if(k<0) {
for(;p>=0;) {
y = str2[p]-'0';
stack[top++] = (y + v) %10;
v = (y + v) / 10;
p--;
}
}
else if(p<0) {
for(;k>=0;) {
y = str[k]-'0';
stack[top++] = (y + v) %10;
v = (y + v) / 10;
k--;
}
}
//
// if(strlen(str) < strlen(str2))
// {
// strcpy(temp, str2);
// strcpy(str2, str);
// strcpy(str, temp);
// }
// push(str[i]-'0');
// last = strlen(str)-1;
// last2 = strlen(str2)-1;
// a=str[last];
// b=str2[last2];
//
// if(a+b>9)
// {
// push(a+b-10);
// push(str[last-1]+1);
// }
// else
// {
// push(a+b);
// }
while(top!=0)
{
top--;
printf("[%d]", stack[top]);
}
return 0;
}



