#include<bits/stdc++.h>
using namespace std;
const int maxn=1000000;
char s[100000];
string s1,s2;
int k=0,p=0;
int a[100000],b[100000],ans[1000000];
int la,lb,len;
int judge(int k){
int s=k+1-lb;
for(int i=0;i<lb;i++){
if(a[s+i]>b[i]) return 1;
else if(a[s+i]<b[i]) return 0;
}
return 1;
}
int f=0;
int main(){
cin>>s1>>s2;
la=s1.size();
lb=s2.size();
len=max(la,lb);
for(int i=0;i<la;i++) a[i]=s1[la-i-1]-48;
for(int i=0;i<lb;i++) b[i]=s2[lb-i-1]-48;
for(int i=0;i<len;i++){
ans[i]+=a[i]+b[i];
if(ans[i]>9){
ans[i]-=10;
ans[i+1]++;
}
}
if(ans[len]) len++;
for(int i=len-1;i>=0;i--) cout<<ans[i];
cout<<endl;
//加法
//-----------------------------------------------------------------
memset(ans,0,sizeof(ans));
memset(b,0,sizeof(b));
memset(a,0,sizeof(a));
la=s1.size();
lb=s2.size();
len=max(la,lb);
if(la<lb||(la==lb&&s1<s2)){
f=1;
swap(s1,s2);
swap(la,lb);
}
for(int i=0;i<la;i++) a[la-i-1]=s1[i]-48;
for(int i=0;i<lb;i++) b[lb-i-1]=s2[i]-48;
for(int i=0;i<la;i++) ans[i]=a[i]-b[i];
for(int i=0;i<la;i++){
if(ans[i]<0){
ans[i]+=10;ans[i+1]--;
}
}
int la=len;
while(ans[len]==0&&len>0) len--;
if(f) cout<<"-";
for(len;len>=0;len--) cout<<ans[len];
cout<<endl;//减法
//---------------------------------------------------------------------
memset(ans,0,sizeof(ans));
memset(b,0,sizeof(b));
memset(a,0,sizeof(a));
la=s1.size();
lb=s2.size();
len=la+lb;
for(int i=0;i<la;i++) a[la-i-1]=s1[i]-48;
for(int i=0;i<lb;i++) b[lb-i-1]=s2[i]-48;
for(int i=0;i<len;i++){
for(int j=0;j<len;j++){
ans[i+j]+=a[i]*b[j];
}
}
for(int i=0;i<len;i++){
for(int j=0;j<len;j++){
if(ans[i]>9){
ans[i+1]+=ans[i]/10;
ans[i]%=10;
}
}
}
while(ans[len]==0&&len>0) len--;
for(int i=len;i>=0;i--) cout<<ans[i];
cout<<endl;//乘法
//----------------------------------------------------------------------
memset(ans,0,sizeof(ans));
memset(b,0,sizeof(b));
memset(a,0,sizeof(a));
la=s1.size();
lb=s2.size();
if(la<lb||(la==lb&&s1<s2)){
cout<<0;
return 0;
}
for(int i=0;i<la;i++) a[i]=s1[i]-48;
for(int i=0;i<lb;i++) b[i]=s2[i]-48;
k=lb-1;
while(k<la){
while(judge(k)){
for(int i=0;i<lb;i++) a[k-i]-=b[lb-1-i];
for(int i=0;i<lb;i++){
if(a[k-i]<0){
a[k-i-1]--;
a[k-i]+=10;
}
}
ans[p]++;
}
p++;
a[k+1-lb+1]+=a[k+1-lb]*10;
a[k+1-lb]=0;
k++;
while(judge(k)==0&&k<la){
ans[p++]=0;
a[k+1-lb+1]+=a[k+1-lb]*10;
a[k+1-lb]=0;
k++;
}
}
int len=0;
if(ans[len]==0) len++;
while(len<p) cout<<ans[len++];//除法
cout<<endl;
//-----------------------------------------------------------
memset(ans,0,sizeof(ans));
memset(b,0,sizeof(b));
memset(a,0,sizeof(a));
return 0;
}