var s,c,x:string; v:array[1..1000] of string[3]; i,n,k:integer; function valid (s:string; k:byte):boolean; var i,x,e:integer; begin val(s,x,e); if (x<0) or (x>24) then valid:=false else valid:=true; end; function valid2 (s,x:string):boolean; var i,e:integer; a1,a2,a3,a4:integer; begin valid2:=true; val(s[1],a1,e); val(s[2],a2,e); val(x[1],a3,e); val(x[2],a4,e); if ((a1<>a2+1) and (a3<>a4+1)) or ((s<>x)) or ((a1<>a3) and (a2<>a4)) or ((a1<>a4) and (a2<>a3)) then valid2:=false; end; begin readln(n); k:=0; for i:=1 to n do begin readln(s); c:=s[1]+s[2]; x:=s[4]+s[5]; if (valid(c,2)=true) and (valid(x,5)=true) and (valid2(s,x)=true) then begin k:=k+1; v[k]:='YES'; end else begin k:=k+1; v[k]:='NO'; end; end; for i:=1 to k do writeln(v[i]); end.