#include<bits/stdc++.h>
using namespace std;
int fact(int ar[],int n)
{
ar[1]=1;
int k=1,j,c,p;
for(int i=1;i<=n;i++)
{
j=1;
c=0;
while(j<=k)
{
p=(ar[j]*i)+c;
ar[j]=p%10;
c=p/10;
//cout<<c<<"\n";
j++;
}
while(c)
{
k++;
ar[k]=c%10;
//cout<<"c"<<ar[k]<<"\n";
c/=10;
}
}
return k;
}
void divbigint(int a[],int n,int &size)
{
int temp,c=0;
for(int i=size;i>0;i--)
{
temp=c+a[i];
c=(temp%n)*10;
a[i]=temp/n;
if(i==size && a[size]==0 && size>0)
size--;
}
}
void sumbigint(int a[],int b[],int &size_a,int &size_b)
{
int temp,c=0,b_;
int i;
for(i=1;i<=size_a;i++)
{
if(i>size_b)
b_=0;
else
b_=b[i];
temp=c+a[i]+b_;
c=(temp/10);
a[i]=temp%10;
}
while(c)
{
size_a++;
a[size_a]=c%10;
c/=10;
}
}
void diffbigint(int a[],int b[],int &size_a,int &size_b)
{
int temp,c=0,b_;
int i;
for(i=1;i<=size_a;i++)
{
if(i>size_b)
b_=0;
else
b_=b[i];
temp=a[i]+c-b_;
if(temp<0)
c=temp/10-1;
else
c=0;
a[i]=(temp+20)%10;
}
while(a[size_a]==0 && size_a>0)
size_a--;
}
int main()
{
string s_a,s_b;
for(int i=0;i<10;i++)
{
cin>>s_a>>s_b;
int a[100]={};
int b[100]={};
int la=s_a.length();
int lb=s_b.length();
//cout<<s[0]<<endl;
for(int j=1;j<=la;j++)
a[j]=s_a[la-j]-'0';
for(int j=1;j<=lb;j++)
b[j]=s_b[lb-j]-'0';
// for(int j=l;j>0;j--)
// cout<<ar[j];
// cout<<endl;
sumbigint(a,b,la,lb);
// for(int j=l;j>0;j--)
// cout<<ar[j];
// cout<<"\n";
divbigint(a,2,la);
for(int j=la;j>0;j--)
cout<<a[j];
cout<<"\n";
diffbigint(a,b,la,lb);
if(la==0)
cout<<"0";
else
{ for(int j=la;j>0;j--)
cout<<a[j];
cout<<"\n";
}
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IGZhY3QoaW50IGFyW10saW50IG4pCnsKCWFyWzFdPTE7CglpbnQgaz0xLGosYyxwOwoJZm9yKGludCBpPTE7aTw9bjtpKyspCgl7CgkJaj0xOwoJCWM9MDsKCQl3aGlsZShqPD1rKQoJCXsKCQkJcD0oYXJbal0qaSkrYzsKCQkJYXJbal09cCUxMDsKCQkJYz1wLzEwOwkKICAgICAgICAgICAgLy9jb3V0PDxjPDwiXG4iOwoJCQlqKys7CgkJfQoJCXdoaWxlKGMpCgkJewoJCQlrKys7CgkJCWFyW2tdPWMlMTA7CiAgICAgICAgICAgIC8vY291dDw8ImMiPDxhcltrXTw8IlxuIjsKCgkJCWMvPTEwOwoJCX0KCX0KCXJldHVybiBrOwp9CnZvaWQgZGl2YmlnaW50KGludCBhW10saW50IG4saW50ICZzaXplKQp7CglpbnQgdGVtcCxjPTA7Cglmb3IoaW50IGk9c2l6ZTtpPjA7aS0tKQoJewoJCXRlbXA9YythW2ldOwoJCWM9KHRlbXAlbikqMTA7CgkJYVtpXT10ZW1wL247CgkJaWYoaT09c2l6ZSAmJiBhW3NpemVdPT0wICYmIHNpemU+MCkKCQlzaXplLS07Cgl9CQp9CnZvaWQgc3VtYmlnaW50KGludCBhW10saW50IGJbXSxpbnQgJnNpemVfYSxpbnQgJnNpemVfYikKewoJaW50IHRlbXAsYz0wLGJfOwoJaW50IGk7Cglmb3IoaT0xO2k8PXNpemVfYTtpKyspCgl7CgkJaWYoaT5zaXplX2IpCgkJYl89MDsKCQllbHNlCgkJYl89YltpXTsKCQl0ZW1wPWMrYVtpXStiXzsKCQljPSh0ZW1wLzEwKTsKCQlhW2ldPXRlbXAlMTA7CgkJCgl9Cgl3aGlsZShjKQoJewoJCXNpemVfYSsrOwoJCWFbc2l6ZV9hXT1jJTEwOwoJCWMvPTEwOwoJfQkKfQp2b2lkIGRpZmZiaWdpbnQoaW50IGFbXSxpbnQgYltdLGludCAmc2l6ZV9hLGludCAmc2l6ZV9iKQp7CglpbnQgdGVtcCxjPTAsYl87CglpbnQgaTsKCWZvcihpPTE7aTw9c2l6ZV9hO2krKykKCXsKCQlpZihpPnNpemVfYikKCQliXz0wOwoJCWVsc2UKCQliXz1iW2ldOwoJCXRlbXA9YVtpXStjLWJfOwoJCWlmKHRlbXA8MCkKCQljPXRlbXAvMTAtMTsKCQllbHNlCgkJYz0wOwoJCWFbaV09KHRlbXArMjApJTEwOwoJfQoJd2hpbGUoYVtzaXplX2FdPT0wICYmIHNpemVfYT4wKQoJc2l6ZV9hLS07Cn0KaW50IG1haW4oKQp7CQoJc3RyaW5nIHNfYSxzX2I7Cglmb3IoaW50IGk9MDtpPDEwO2krKykKCXsKCQljaW4+PnNfYT4+c19iOwoJCWludCBhWzEwMF09e307CgkJaW50IGJbMTAwXT17fTsKCQlpbnQgbGE9c19hLmxlbmd0aCgpOwoJCWludCBsYj1zX2IubGVuZ3RoKCk7CgkJLy9jb3V0PDxzWzBdPDxlbmRsOwoJCWZvcihpbnQgaj0xO2o8PWxhO2orKykKCQlhW2pdPXNfYVtsYS1qXS0nMCc7CgkJZm9yKGludCBqPTE7ajw9bGI7aisrKQoJCWJbal09c19iW2xiLWpdLScwJzsKLy8JCWZvcihpbnQgaj1sO2o+MDtqLS0pCi8vCQljb3V0PDxhcltqXTsKLy8JCWNvdXQ8PGVuZGw7CgkJc3VtYmlnaW50KGEsYixsYSxsYik7Ci8vCQlmb3IoaW50IGo9bDtqPjA7ai0tKQovLwkJY291dDw8YXJbal07Ci8vCQljb3V0PDwiXG4iOwoJCWRpdmJpZ2ludChhLDIsbGEpOwoJCWZvcihpbnQgaj1sYTtqPjA7ai0tKQoJCWNvdXQ8PGFbal07CgkJY291dDw8IlxuIjsKCQlkaWZmYmlnaW50KGEsYixsYSxsYik7CgkJaWYobGE9PTApCgkJY291dDw8IjAiOwoJCWVsc2UKCQl7CWZvcihpbnQgaj1sYTtqPjA7ai0tKQoJCQljb3V0PDxhW2pdOwoJCQljb3V0PDwiXG4iOwoJCX0KCX0KfQ==