#include<bits/stdc++.h>
using namespace std;
const int N=2e6+10,M=2*N;
int n,m;
int h[N],e[M],ne[M],idx;
void add(int a,int b){
e[idx]=b,ne[idx]=h[a],h[a]=idx++;
}
int dfn[N],low[N],stk[N],o,id[N],cnt,sz[N],top;
void tarjan(int u){
dfn[u]=low[u]=++o;stk[++top]=u;
for(int i=h[u];~i;i=ne[i]){
int j=e[i];
if(!dfn[j])tarjan(j),low[u]=min(low[u],low[j]);
else if(!id[j])low[u]=min(low[u],dfn[j]);
}
if(dfn[u]==low[u]){
int y;
++cnt;
do{
y=stk[top--];
id[y]=cnt;
sz[cnt]++;
}while(y!=u);
}
}
int L[N],R[N];
void jiao(int a,int c){
int ji=0;
if(L[a]<=L[c]&&R[a]>L[c])ji=1;
if(L[c]<=R[a]&&R[c]>L[a])ji=1;
int s1=L[a],t1=R[a],s2=L[c],t2=R[c];
if(t1>s2&&t2>s1)add(a,c^1),add(c,a^1);
}
signed main(){
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
memset(h,-1,sizeof h);
cin>>n;
for(int i=0;i<n;i++){
int a,b,c,d,D;
char t;
cin>>a>>t>>b>>c>>t>>d>>D;
// cout<<a<<" "<<b<<" "<<c<<" "<<d<<endl;
L[2*i]=a*60+b;
R[2*i]=L[2*i]+D;
R[2*i+1]=c*60+d;
L[2*i+1]=R[2*i+1]-D;
//起点办婚礼0 终点办婚礼1
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(i==j)continue;
int a=2*i,b=2*i+1,c=2*j,d=2*j+1;
jiao(a,c);jiao(a,d);jiao(b,c);jiao(b,d);
}
}
for(int i=0;i<n;i++){
if(!dfn[2*i])tarjan(2*i);
if(!dfn[2*i+1])tarjan(2*i+1);
}
for(int i=0;i<n;i++){
if(id[2*i]==id[2*i+1]){
puts("NO");
return 0;
}
}
// cout<<"YES"<<'\n';
puts("YES");
for(int i=0;i<n;i++){
// if(id[2*i]<id[2*i+1])cout<<"0 ";
// else cout<<"1 ";
if(id[2*i]<id[2*i+1]){//0
printf("%02d:%02d %02d:%02d\n",L[i*2]/60,L[i*2]%60,R[i*2]/60,R[i*2]%60);
}
if(id[2*i]>id[2*i+1]){//1
printf("%02d:%02d %02d:%02d\n",L[i*2+1]/60,L[i*2+1]%60,R[i*2+1]/60,R[i*2+1]%60);
}
}
}