#include<cstdio>
#include<set>
#include<vector>
#include<algorithm>
#include<utility>

using namespace std;

int main(){
  for(int n;scanf("%d",&n),n;){
    set<int> all,w[10];
    for(int j=0;j<n;j++){
      vector<int> v(3);
      scanf("%d%d%d",v.data(),v.data()+1,v.data()+2);
      sort(begin(v),end(v));
      do{
	for(int i=0;i<60;i++){
	  int h=(v[0]+i)%60;
	  int m=(v[1]+i)%60;
	  int s=(v[2]+i)%60;
	  if(h%5==m/12){
	    int t=h/5*3600+m*60+s;
	    all.insert(t);
	    w[j].insert(t);
	  }
	}
      }while(next_permutation(begin(v),end(v)));
    }
    pair<int,int> c(0,1<<29);
    for(auto e:all){
      int l=-1;
      for(int i=0;i<n;i++){
	auto it=w[i].lower_bound(e);
	if(it==end(w[i]))goto next;
	l=max(l,*it);
      }
      if(c.second-c.first>l-e){
	c=make_pair(e,l);
      }
    next:
      ;
    }
    printf("%02d:%02d:%02d %02d:%02d:%02d\n",c.first/3600,c.first/60%60,c.first%60,c.second/3600,c.second/60%60,c.second%60);
  }
}