program Project1; var b:array[1..1000]of boolean; i,j,n,a,k,top,x:longint; t:boolean; mas:array[1..1000]of longint; procedure push(a:longint); begin inc(top); mas[top]:=a; end; function pop:longint; begin pop:=mas[top]; dec(top); end; begin assign(input,'matches.in'); reset(input); assign(output,'matches.out'); rewrite(output); k:=0; top:=0; readln(n); for i:=1 to n do begin for j:=1 to 12 do begin read(a); t:=true; for k:=1 to top do if mas[k]=a then begin t:=false; x:=k; break end; if t then begin push(a); a:=top end else a:=x; if b[a]=false then b[a]:=true else b[a]:=false; end; t:=true; while top<>0 do begin k:=pop; k:=top+1; if b[k] then begin t:=false; break; end; end; if t then writeln('yes')else writeln('no'); for k:=1 to 15 do b[k]:=false; end; close(input); close(output); end.