#include<stdio.h>
int main()
{
char ca[10],cb[10],cc[20],cd[20],temp;
int la=0,lb=0,lc=0,ld=0,i,j;
scanf("%s%s",ca,cb);
while(ca[la]!='\0')
la++;
while(cb[lb]!='\0')
lb++;
for(i=0;i<la/2;i++)
{
temp=ca[i];
ca[i]=ca[la-i-1];
ca[la-i-1]=temp;
}
for(i=0;i<lb/2;i++)
{
temp=cb[i];
cb[i]=cb[lb-i-1];
cb[lb-i-1]=temp;
}
for(i=0;i<20;i++)
{
cc[i]='\0';
}
//计算a+b用cc保存
i=0;
int flag=0,x;
while(i<la || i<lb)
{
x=flag;
if(i<la) x+=ca[i]-'0';
if(i<lb) x+=cb[i]-'0';
cc[i]=(x%10)+'0';
flag=x/10;
i++;
}
if(flag>0)
{
lc=i+1;
cc[i]=flag+'0';
}
else
lc=i;
for(i=0;i<lc/2;i++)
{
temp=cc[i];
cc[i]=cc[lc-i-1];
cc[lc-i-1]=temp;
}
printf("%s\n",cc);
//大数相乘
for(i=0;i<20;i++)
{
cd[i]='0';
}
for(i=0;i<la;i++)
{
for(j=0;j<lb;j++)
{
x=(ca[i]-'0')*(cb[j]-'0');
if((x+cd[i+j]-'0')>=10)
cd[i+j+1]=(x+cd[i+j]-'0')/10+'0';
cd[i+j]=(x+cd[i+j]-'0')%10+'0';
}
}
for(i=19;i>=0;i--)
{
if(cd[i]!='0')
break;
}
ld=i+1;
cd[ld]='\0';
for(i=0;i<ld/2;i++)
{
temp=cd[i];
cd[i]=cd[ld-i-1];
cd[ld-i-1]=temp;
}
printf("%s\n",cd);
return 0;
}