#include<bits/stdc++.h>
using namespace std;
bool f;
int a[1000001],b[1000001],c[10000001];
string xx,yy;
void jia()
{
f=0;
int i,j;
string x=xx,y=yy;
if(x[0]=='-')
{
f=!f;
x=x.substr(1,x.size()-1);
}
if(y[0]=='-')
{
f=!f;
y=y.substr(1,y.size()-1);
}
for (i=0, j=x.size()-1; i<x.size(); i++,j--)
{
a[i] = x[j] - '0';
}
for (i=0, j=y.size()-1; i<y.size(); i++,j--)
{
b[i] = y[j] - '0';
}
for(i=0; i<x.size() || i<y.size(); i++)
{
c[i] += a[i] + b[i];
if (c[i] > 9)
{
c[i+1] = c[i] / 10;
c[i] %= 10;
}
}
bool flag = 0;
for(; i>=0; i--)
{
if(c[i] != 0 || flag)
{
cout << c[i]; flag = 1;
}
}
if (!flag) cout << 0;
cout<<endl;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
}
void jian()
{
string x=xx,y=yy;
if(x.size()<y.size())
{
cout<<"-";
swap(x,y);
}
if(x.size()==y.size())
{
for(int i=0;i<x.size();i++)
{
if(x[i]>y[i])
{
break;
}
if(x[i]<y[i])
{
cout<<"-";
swap(x,y);
break;
}
}
}
for (int i=0, j=x.size()-1; i<x.size(); i++,j--)
{
a[i] = x[j] - '0';
}
for (int i=0, j=y.size()-1; i<y.size(); i++,j--)
{
a[i] -= y[j] - '0';
}
for(int i=0;i<x.size()-1;i++)
{
if(a[i]<0)
{
a[i]+=abs(a[i])/10+10;
a[i+1]-=abs(a[i])/10+1;
}
}
int i=x.size();
while(a[--i]==0);
for(;i>=0;i--)
{
cout<<a[i];
}
cout<<endl;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
}
void cheng()
{
f=0;
string x=xx,y=yy;
if(x[0]=='-')
{
f=!f;
x=x.substr(1,x.size()-1);
}
if(y[0]=='-')
{
f=!f;
y=y.substr(1,y.size()-1);
}
for (int i=0; i<x.size(); i++)
{
a[i] = x[i] - '0';
}
for (int i=0; i<y.size(); i++)
{
b[i] = y[i] - '0';
}
for(int i=0;i<x.size();i++)
{
for(int j=0;j<y.size();j++)
{
c[i+j]+=a[i]*b[j];
}
}
for(int i=x.size()+y.size()-2;i>0;i--)
{
if(c[i]>9)
{
c[i-1]+=c[i]/10;
c[i]%=10;
}
}
if(f) cout<<'-';
for(int i=0;i<x.size()+y.size()-1;i++)
{
cout<<c[i];
}
cout<<endl;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
}
bool xxx(int* a,int* b,int n)
{
if(a[n]>0) return true;
for(int i=n-1;i>=0;i--)
{
if(a[i]>b[i])
{
return true;
}
else if(a[i]<b[i])
{
return false;
}
}
return true;
}
void chu()
{
string x=xx,y=yy;
int i,j,xl,yl,zl;
xl=x.size();
yl=y.size();
zl=xl-yl;
for(i=0;i<xl;i++)
{
a[i]=x[xl-1-i]-'0';
}
for(i=0;i<yl;i++)
{
b[i]=y[yl-1-i]-'0';
}
for(i=xl-yl;i>=0;i--)
{
while(xxx(a+i,b,yl))
{
c[i]++;
for(j=0;j<=yl-1;j++)
{
if(a[i+j]<b[j])
{
a[i+j+1]--;
a[i+j]+=10;
}
a[i+j]-=b[j];
}
}
}
while(a[xl]==0&&xl>0) xl--;
while(c[zl]==0&&zl>0) zl--;
for(i=zl;i>=0;i--) cout<<c[i];
if(zl<0) cout<<"0";
if(xl>1||a[0]>0)
{
cout<<endl;
for(i=xl;i>=0;i--) cout<<a[i];
}
else
{
cout<<endl;
cout<<0;
}
}
int main()
{
cin>>xx>>yy;
jia();
jian();
cheng();
chu();
return 0;
}