George woke up and saw the current time s on the digital clock. Besides, George knows that he has slept for time t.
Help George! Write a program that will, given time s and t, determine the time p when George went to bed. Note that George could have gone to bed yesterday relatively to the current time (see the second test sample).
The first line contains current time s as a string in the format "hh:mm". The second line contains time t in the format "hh:mm" — the duration of George's sleep. It is guaranteed that the input contains the correct time in the 24-hour format, that is, 00 ≤ hh ≤ 23, 00 ≤ mm ≤ 59.
In the single line print time p — the time George went to bed in the format similar to the format of the time in the input.
05:50 05:44
00:06
00:00 01:00
23:00
00:01 00:00
00:01
Note
In the first sample George went to bed at "00:06". Note that you should print the time only in the format "00:06". That's why answers "0:06", "00:6" and others will be considered incorrect.
In the second sample, George went to bed yesterday.
In the third sample, George didn't do to bed at all.
这个题记住不要让出现24:00或者1:60这种情况!
#include <stdio.h>
#include <stdlib.h>
int main()
{
int h1,m1,h2,m2;
while(scanf("%d:%d",&h1,&m1)!=EOF)
{
int h=0,m=0;
scanf("%d:%d",&h2,&m2);
if((h1>h2)||((h1==h2)&&(m1>m2)))
{
if(m1==m2)
{
m=0;
h=h1-h2;
}
else if(m1>m2)
{
m=m1-m2;
if(h1==h2)
h=0;
if(h1>h2)
h=h1-h2;
}
else
{
m=60-(m2-m1);
h=h1-h2-1;
}
}
if((h1<h2)||((h1==h2)&&(m1<m2)))
{
if(m1<m2)
{
m=60-(m2-m1);
if(h1==h2)
h=23;
if(h1<h2)
h=24-(h2-h1+1);
}
else
{
h=24-(h2-h1);
m=m1-m2;
}
}
if((m1==m2)&&(h1==h2))
{
h=0;
m=0;
}
printf("%02d:%02d\n",h,m);
}
return 0;
}