#include <stdio.h>
#include <string.h>
typedef struct{
int x,y;
}result;
result cal(char a[]){ //没有考虑一个是小数,一个是整数这种情况
int i,j;
result tmp;
for(i=0;a[i] != '.';i++);
tmp.x = i;
for(j=i+1;a[j] != 'd'; j++);
tmp.y = j-i-2;
return tmp;
}
void print(int x){
int i;
for(i=1;i<=x;i++)
{
printf(" ");
}
}
int main()
{
int zheng,xiao,zong;
int ax,ay,aright,bleft,bright;
int bx,by,aleft;
char a[1007],b[1007];
memset(a,'d',sizeof(a));
memset(b,'d',sizeof(b));
int i,j;
scanf("%s%s",&a,&b);
ax=cal(a).x; //printf("%d",ax);
ay=cal(a).y; //printf("%d",ay);
bx=cal(b).x; //printf("%d",bx);
by=cal(b).y; //printf("%d",by);
zheng = ax>bx? ax:bx;
xiao = ay>by? ay:by;
zong = zheng + xiao + 4;
aleft=zong-ax-xiao-1;
aright=xiao-ay;
bleft=zong-xiao-bx-2;
bright=xiao-by;
print(aleft);
printf("%s",a);
print(aright);
printf("\n");
printf("+");
print(bleft);
printf("%s",b);
print(bright);
printf("\n");
for(i=1;i<=zong;i++)
printf("-");
printf("\n");
printf(" 3.01\n");
// for(i=0;a[i] != '.';i++);
// printf("%d\n",i);
//
// for(j=i+1;a[j] != 'd'; j++);
// printf("%d",j-i-2);
return 0;
}