#include<iostream> #include<cstdio> #include <string> #include <algorithm> #include <cmath> using namespace std; struct ll1 { int x; int y; }tru[110]; struct ll { int a; int b; int c; }tre[110]; int flag; bool cmp(ll1 a,ll1 b) { return a.x<b.x; } bool comp(ll a,ll b) { return a.c>b.c; } char p[110][5]; char q[110][5]; int main() { int n; while(cin>>n&&n!=0){ for(int i=0;i<n;i++) { for(int j=0;j<5;j++) cin>>p[i][j]; tru[i].x=((p[i][0]-'0')*10+(p[i][1]-'0'))*60+((p[i][3]-'0')*10+p[i][4]-'0'); for(int k=0;k<5;k++) cin>>q[i][k]; tru[i].y=((q[i][0]-'0')*10+(q[i][1]-'0'))*60+((q[i][3]-'0')*10+q[i][4]-'0'); } sort(tru,tru+n,cmp); int t=0; flag=0; int temp=0; for(int i=0;i<n;i++) { if(n==1) { if(tru[i].x>0){ tre[t++].a=0;tre[t-1].b=tru[i].x;tre[t-1].c=tre[t-1].b-tre[t-1].a;} if(tru[i].y<1439){ tre[t++].a=tru[i].y;tre[t-1].b=1439;tre[t-1].c=tre[t-1].b-tre[t-1].a;} } else if(i==0){ if(tru[i].x>0){ tre[t++].a=0;tre[t-1].b=tru[i].x;tre[t-1].c=tre[t-1].b-tre[t-1].a; } temp=max(temp,tru[i].y); } else if(i==n-1) { if(tru[i].y<tru[i-1-flag].y) flag++; else{ if(tru[i].x>tru[i-1-flag].y){ tre[t++].a=tru[i-1-flag].y;tre[t-1].b=tru[i].x;tre[t-1].c=tre[t-1].b-tre[t-1].a; } flag=0;temp=max(temp,tru[i].y); } if(temp<1439){ tre[t++].a=temp;tre[t-1].b=1439;tre[t-1].c=tre[t-1].b-tre[t-1].a;} } else{ if(tru[i].y<tru[i-1-flag].y) flag++; else{ if(tru[i].x>tru[i-1-flag].y){ tre[t++].a=tru[i-1-flag].y;tre[t-1].b=tru[i].x;tre[t-1].c=tre[t-1].b-tre[t-1].a; } flag=0;temp=max(temp,tru[i].y); } } } if(t==0) cout<<"Poor Hengheng"<<endl; else{ sort(tre,tre+t,comp); int sang[4]; char san[5];char san1[5]; sang[0]=tre[0].a/60; sang[1]=tre[0].a%60; sang[2]=tre[0].b/60; sang[3]=tre[0].b%60; for(int j=0;j<2;j++){ san[2]=':'; if(sang[j]<10) { san[0+3*j]=0+'0'; san[1+3*j]=sang[j]+'0'; } else { san[0+3*j]=sang[j]/10+'0'; san[1+3*j]=sang[j]%10+'0'; } } for(int j=0;j<2;j++){ san1[2]=':'; if(sang[j+2]<10) { san1[0+3*j]=0+'0'; san1[1+3*j]=sang[j+2]+'0'; } else { san1[0+3*j]=sang[j+2]/10+'0'; san1[1+3*j]=sang[j+2]%10+'0'; } } for(int k=0;k<5;k++) cout<<san[k]; cout<<" "; for(int k=0;k<5;k++) cout<<san1[k]; cout<<endl; } } return 0; }