#include <iostream>
#include <cstdio>
using namespace std;
int changeTok(int x,int y,int z){
int ans=(x*17+y)*29+z;
return ans;
}
int main(int argc, char** argv) {
int g1,s1,k1;
scanf("%d.%d.%d",&g1,&s1,&k1);
int g2,s2,k2;
scanf("%d.%d.%d",&g2,&s2,&k2);
int require=changeTok(g1,s1,k1);
int r=changeTok(g2,s2,k2);
int g,s,k;
int rest=r-require;
int flag=0;
if(rest>=0){
rest=rest;
flag=0;
}else{
rest=-rest;
flag=1;
}
g=rest/(17*29);
s=rest%(17*29)/29;
k=rest%29;
if(flag==0)
printf("%d.%d.%d\n",g,s,k);
else
printf("-%d.%d.%d\n",g,s,k);
return 0;
#include <cstdio>
using namespace std;
int changeTok(int x,int y,int z){
int ans=(x*17+y)*29+z;
return ans;
}
int main(int argc, char** argv) {
int g1,s1,k1;
scanf("%d.%d.%d",&g1,&s1,&k1);
int g2,s2,k2;
scanf("%d.%d.%d",&g2,&s2,&k2);
int require=changeTok(g1,s1,k1);
int r=changeTok(g2,s2,k2);
int g,s,k;
int rest=r-require;
int flag=0;
if(rest>=0){
rest=rest;
flag=0;
}else{
rest=-rest;
flag=1;
}
g=rest/(17*29);
s=rest%(17*29)/29;
k=rest%29;
if(flag==0)
printf("%d.%d.%d\n",g,s,k);
else
printf("-%d.%d.%d\n",g,s,k);
return 0;
}