#include<iostream>
using namespace std;
void add(string a,string b)
{
int arr[1001];
int i=a.length()-1;
int j=b.length()-1;
int k=1000;
while(j>=0){
arr[k]=a[i--]+b[j--]-'0'-'0';
while(arr[k]>9)
{
int e=arr[k];
arr[k]=arr[k]%10;
i>=0? (a[i]=a[i]+e/10):(arr[--k]=e/10);
}
k--;
}
for(;i>=0;i--)
{
arr[k--]=a[i]-'0';
}
k++;
int c[1001];int p=0;
int f=0;
for(;k<=1000;k++)
{
c[p++]=(f*10+arr[k])/2;
f=arr[k]%2;
}
int flag=1;
for(int q=0;q<p;q++)
{
if(c[q]==0&&flag==1)
continue;
else{
cout<<c[q];
flag=0;
}
}
if(flag==1)
cout<<"0";
cout<<endl;
}
void sub(string a,string b)
{
int arr[1001];
int i=a.length()-1;
int j=b.length()-1;
int k=1000;
while(j>=0){
arr[k]=a[i--]- b[j--];
if(arr[k]<0)
{
int e;
e=10+a[i+1]-b[j+1];
arr[k]=e;
int h=i;
if(a[h]=='0')
{
while(a[h]=='0')
{
a[h]='9';
h--;
}
a[h]--;
}
else a[i]--;
}
k--;
}
for(;i>=0;i--)
{
arr[k--]=a[i]-'0';
}
k++;
int c[1001];int p=0;
int f=0;
for(;k<=1000;k++)
{
c[p++]=(f*10+arr[k])/2;
f=arr[k]%2;
}
int flag=1;
for(int q=0;q<p;q++)
{
if(c[q]==0&&flag==1)
continue;
else{
cout<<c[q];
flag=0;
}
}
if(flag==1)
cout<<"0";
cout<<endl;
}
main()
{
int t=10;
while(t--)
{
string a;
string b;
cin>>a;
cin>>b;
add(a,b);
sub(a,b);
}
}
I2luY2x1ZGU8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnZvaWQgYWRkKHN0cmluZyBhLHN0cmluZyBiKQp7CgkJaW50IGFyclsxMDAxXTsKCWludCBpPWEubGVuZ3RoKCktMTsKCWludCBqPWIubGVuZ3RoKCktMTsKCWludCBrPTEwMDA7Cgl3aGlsZShqPj0wKXsKCQlhcnJba109YVtpLS1dK2Jbai0tXS0nMCctJzAnOwoJCQoJCQoJCQl3aGlsZShhcnJba10+OSkKCXsKCQlpbnQgZT1hcnJba107CgkJYXJyW2tdPWFycltrXSUxMDsKCWk+PTA/CShhW2ldPWFbaV0rZS8xMCk6KGFyclstLWtdPWUvMTApOwoJCn0KCmstLTsKCX0KCWZvcig7aT49MDtpLS0pCgl7CgkJYXJyW2stLV09YVtpXS0nMCc7Cgl9CglrKys7CgkKCWludCBjWzEwMDFdO2ludCBwPTA7CglpbnQgZj0wOyAKCWZvcig7azw9MTAwMDtrKyspCgl7CgkJY1twKytdPShmKjEwK2FycltrXSkvMjsKCQlmPWFycltrXSUyOwoJfQoJaW50IGZsYWc9MTsKCWZvcihpbnQgcT0wO3E8cDtxKyspCgl7CgkJaWYoY1txXT09MCYmZmxhZz09MSkKCQljb250aW51ZTsKCQllbHNlewoJCQoJCWNvdXQ8PGNbcV07CgkJZmxhZz0wOwp9Cgl9CglpZihmbGFnPT0xKQoJY291dDw8IjAiOwoJY291dDw8ZW5kbDsKfQp2b2lkIHN1YihzdHJpbmcgYSxzdHJpbmcgYikKewoJCWludCBhcnJbMTAwMV07CglpbnQgaT1hLmxlbmd0aCgpLTE7CglpbnQgaj1iLmxlbmd0aCgpLTE7CglpbnQgaz0xMDAwOwoJd2hpbGUoaj49MCl7CgkJYXJyW2tdPWFbaS0tXS0gYltqLS1dOwoJCQlpZihhcnJba108MCkKCXsKCQlpbnQgZTsKCQllPTEwK2FbaSsxXS1iW2orMV07CgkKCQlhcnJba109ZTsKCQlpbnQgaD1pOwoJCWlmKGFbaF09PScwJykKCQl7CgkJCgkJd2hpbGUoYVtoXT09JzAnKQoJCXsKCQkJYVtoXT0nOSc7CgkJCWgtLTsKCQl9CgkJYVtoXS0tOwoJfQoJZWxzZSBhW2ldLS07Cgl9CglrLS07Cgl9Cglmb3IoO2k+PTA7aS0tKQoJewoJCWFycltrLS1dPWFbaV0tJzAnOwoJfQoJaysrOwoJaW50IGNbMTAwMV07aW50IHA9MDsKCWludCBmPTA7IAoJZm9yKDtrPD0xMDAwO2srKykKCXsKCQljW3ArK109KGYqMTArYXJyW2tdKS8yOwoJCWY9YXJyW2tdJTI7Cgl9CglpbnQgZmxhZz0xOwoJZm9yKGludCBxPTA7cTxwO3ErKykKCXsKCQlpZihjW3FdPT0wJiZmbGFnPT0xKQoJCWNvbnRpbnVlOwoJCWVsc2V7CgkJCgkJY291dDw8Y1txXTsKCQlmbGFnPTA7Cn0KCX0KCWlmKGZsYWc9PTEpCgljb3V0PDwiMCI7Cgljb3V0PDxlbmRsOwp9Cm1haW4oKQp7CglpbnQgdD0xMDsKCXdoaWxlKHQtLSkKCXsKCQoJc3RyaW5nIGE7CglzdHJpbmcgYjsKCWNpbj4+YTsKCWNpbj4+YjsKICAgICBhZGQoYSxiKTsKICAgICBzdWIoYSxiKTsKfQp9