/CARO - Cờ caro

<Problem>

http://ntucoder.net/Problem/Details/3274
              Uses Crt;
        Var n,i,j,d,kt,o:longint; s:array[1..10000] of string;
            xau:string;
        Procedure Check(d:longint; s:string);
        begin
            if d>=5 then
            begin
                if s='x' then writeln('Ti wins')
                   else writeln('Teo wins');
                kt:=1;
            end;
        end;
        Begin
            readln(n);
            kt:=0;
            for i:=1 to n do readln(s[i]);
            for i:=1 to n do
            begin
              xau:=s[i]; d:=1;
              for j:=1 to n do //hang ngang
              begin
                   if (xau[j]=xau[j+1]) and (xau[j]<>'.') and (xau[j+1]<>'.')
                   and (xau[j]<>'') and (xau[j+1]<>'') then inc(d) else d:=1;
                   Check(d,xau[j]);
                   if kt=1 then exit;
              end;
              d:=1;
              for j:=1 to n do //hang doc
              begin
                  if (s[j][i]=s[j+1][i]) and (s[j][i]<>'.') and (s[j+1][i]<>'.')
                  and (s[j][i]<>'') and (s[j+1][i]<>'') then inc(d) else d:=1;
                  Check(d,s[j][i]);
                  if kt=1 then exit;
              end;
            end;
            for o:=1 to n do     //hang cheo \
            begin
                j:=1; d:=1; i:=o;
                while (j<=n) and (i<=n) do
                begin
                    if (s[j][i]=s[j+1][i+1]) and (s[j][i]<>'.') and (s[j+1][i+1]<>'.')
                    and (s[j][i]<>'') and (s[j+1][i+1]<>'') then inc(d) else d:=1;
                    Check(d,s[j][i]);
                    if kt=1 then begin  exit; end;
                    inc(j); inc(i);
                end;
            end;
            o:=2;
            if o<=n then
            begin
                for o:=2 to n do
                begin
                     j:=o; i:=1;
                     d:=1;
                     while (j<=n) and (i<=n) do
                     begin
                         if (s[j][i]=s[j+1][i+1]) and (s[j][i]<>'.') and (s[j+1][i+1]<>'.')
                         and (s[j][i]<>'') and (s[j+1][i+1]<>'') then inc(d) else d:=1;
                         Check(d,s[j][i]);
                         if kt=1 then exit;
                         inc(j); inc(i);
                     end;
                end;
            end;
            for o:=n downto 1 do  // hang cheo /
            begin
                j:=1; i:=o; d:=1;
                while (j<=n) and (i>=1) do
                begin
                    if (s[j][i]=s[j+1][i-1]) and (s[j][i]<>'.') and (s[j+1][i-1]<>'.')
                    and (s[j][i]<>'') and (s[j+1][i-1]<>'') then inc(d) else d:=1;
                    Check(d,s[j][i]);
                    if kt=1 then exit;
                    inc(j); dec(i);
                end;
            end;
            o:=2;
            if o<=n then
            begin
                for o:=2 to n do
                begin
                    j:=o; i:=n; d:=1;
                    while (j<=n) and (i>=1) do
                    begin
                        if (s[j][i]=s[j+1][i-1]) and (s[j][i]<>'.') and (s[j+1][i-1]<>'.')
                        and (s[j][i]<>'') and (s[j+1][i-1]<>'') then inc(d) else d:=1;
                        Check(d,s[j][i]);
                        if kt=1 then exit;
                        inc(j); dec(i);
                    end;
                end;
            end;
            writeln('Not yet');
            readln;
        
        End.