#include <cstdio>

int n, vodi[2];
int sekund (int a, int b), minute (int a);
struct vremena{
       vremena (int _t=0, int _e=0): t(_t), e(_e) {}
       void print(){
	   		int m=minute(t), s=t%60;
			if (m<10 && s<10) printf ("0%d:0%d\n", m,s);
			else if (m<10 && s>=10) printf ("0%d:%d\n", m,s);
			else if (m>=10 && s<10) printf ("%d:0%d\n", m,s);
			else printf ("%d:%d\n", m,s);	   			
	
       }
       int t, e;
}kos[100], rj[2];
void print();

int main(){
    int tmp, m, s;
    scanf ("%d", &n);
    for (int i=0; i<n; ++i){
        scanf ("%d %d:%d", &tmp, &m, &s);
        kos[i].e=tmp;
        kos[i].t=sekund(m,s);
    }
    //print();
    
    for (int i=0; i<n; ++i){
		//printf ("kos[i].e-1=%d\n", kos[i].e-1);
        rj[kos[i].e-1].e++;
        if (vodi[0]==1 && vodi[1]==0) rj[0].t+=kos[i].t-kos[i-1].t;
        else if (vodi[0]==0 && vodi[1]==1) rj[1].t+=kos[i].t-kos[i-1].t;
        
        if (rj[0].e>rj[1].e){
           vodi[0]=1;
           vodi[1]=0;
        } 
        else if (rj[1].e>rj[0].e){
             vodi[1]=1;
             vodi[0]=0;
        }
        else{
             vodi[0]=0;
             vodi[1]=0;
        }
    }
    
    if (vodi[0]==1) rj[0].t+=sekund(48,0)-kos[n-1].t;
    if (vodi[1]==1) rj[1].t+=sekund (48,0)-kos[n-1].t;
    rj[0].print();
    rj[1].print();
    
    scanf ("%*c%*c");
    return 0;
}
int sekund(int m, int s){
    return m*60+s;
}
int druga(int a){
    if (a==0) return 1;
    return 0;
}
int minute(int a){
    return a/60;
}
void print(){
	 for (int i=0; i<n; ++i)
	 	 printf ("t=%d e=%d\n", kos[i].t, kos[i].e);	 
}
