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.