F - Fito y el torneo de Ajedrez

Languages: C, C++, Java, Pascal, Python, Tiger, JavaScript, Haskell, C#
Time & Memory limits: (details)

Después de haber participado en el torneo de Judo ahora Fito está participando en un torneo de Ajedrez. En la competencia cada jugador juega contra todos los demás y el ganador recibe un punto, el perdedor 0 y en caso de empate ambos reciben 0.5. Al final el que mayor cantidad de puntos tenga es el ganador, si hay varios con la misma cantidad se hacen una serie de rondas para determinar el ganador.

Los juegos se hacen en cualquier orden y Fito quiere saber, basado en los resultados de los juegos que ya se han efectuado, los jugadores que aún pueden ser los ganadores del torneo.

Input

La primera línea tendrá un entero $T$ $(1 \le T \le 100)$ que representa la cantidad de casos. Para cada caso habrá una línea con un entero $N$ $(1 \le N \le 30)$ que indica la cantidad de competidores. Luego habrá $N$ líneas cada una con $N$ caracteres que describen los resultados de los juegos efectuados hasta el momento. El carácter j-ésimo en la línea i-ésima es un $1$ si el jugador i-ésimo le ganó al j-ésimo, $0$ si perdió, $d$ si empataron, $.$ si el juego no se ha efectuado y $x$ si i=j (un jugador no juega contra el mismo).

Output

Para cada caso de prueba se debe imprimir una línea con los índices de los jugadores ( ordenados de menor a mayor ) que todavía pueden ganar (los jugadores se numeran de $1$ a $N$).

Sample test(s)

Input
3 5 x.11d .x1d1 00x.0 0d.x. d01.x 7 x00111. 1x01d.d 11x1.00 000x000 0d.1xd1 0.11dxd .d110dx 7 x00011. 1x00d.d 11x0.0. 111x111 0d.0xd. 0.10dx. .d.0..x
Output
1 2 1 2 3 5 6 7 4