codeforces#P1761C. Set Construction

    ID: 33393 远端评测题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>constructive algorithmsdfs and similargraphsgreedy

Set Construction

Description

You are given a binary matrix $b$ (all elements of the matrix are $0$ or $1$) of $n$ rows and $n$ columns.

You need to construct a $n$ sets $A_1, A_2, \ldots, A_n$, for which the following conditions are satisfied:

  • Each set is nonempty and consists of distinct integers between $1$ and $n$ inclusive.
  • All sets are distinct.
  • For all pairs $(i,j)$ satisfying $1\leq i, j\leq n$, $b_{i,j}=1$ if and only if $A_i\subsetneq A_j$. In other words, $b_{i, j}$ is $1$ if $A_i$ is a proper subset of $A_j$ and $0$ otherwise.

Set $X$ is a proper subset of set $Y$, if $X$ is a nonempty subset of $Y$, and $X \neq Y$.

It's guaranteed that for all test cases in this problem, such $n$ sets exist. Note that it doesn't mean that such $n$ sets exist for all possible inputs.

If there are multiple solutions, you can output any of them.

Each test contains multiple test cases. The first line contains a single integer $t$ ($1\le t\le 1000$) — the number of test cases. The description of test cases follows.

The first line contains a single integer $n$ ($1\le n\le 100$).

The following $n$ lines contain a binary matrix $b$, the $j$-th character of $i$-th line denotes $b_{i,j}$.

It is guaranteed that the sum of $n$ over all test cases does not exceed $1000$.

It's guaranteed that for all test cases in this problem, such $n$ sets exist.

For each test case, output $n$ lines.

For the $i$-th line, first output $s_i$ $(1 \le s_i \le n)$  — the size of the set $A_i$. Then, output $s_i$ distinct integers from $1$ to $n$  — the elements of the set $A_i$.

If there are multiple solutions, you can output any of them.

It's guaranteed that for all test cases in this problem, such $n$ sets exist.

Input

Each test contains multiple test cases. The first line contains a single integer $t$ ($1\le t\le 1000$) — the number of test cases. The description of test cases follows.

The first line contains a single integer $n$ ($1\le n\le 100$).

The following $n$ lines contain a binary matrix $b$, the $j$-th character of $i$-th line denotes $b_{i,j}$.

It is guaranteed that the sum of $n$ over all test cases does not exceed $1000$.

It's guaranteed that for all test cases in this problem, such $n$ sets exist.

Output

For each test case, output $n$ lines.

For the $i$-th line, first output $s_i$ $(1 \le s_i \le n)$  — the size of the set $A_i$. Then, output $s_i$ distinct integers from $1$ to $n$  — the elements of the set $A_i$.

If there are multiple solutions, you can output any of them.

It's guaranteed that for all test cases in this problem, such $n$ sets exist.

2
4
0001
1001
0001
0000
3
011
001
000
3 1 2 3
2 1 3
2 2 4
4 1 2 3 4
1 1
2 1 2
3 1 2 3

Note

In the first test case, we have $A_1 = \{1, 2, 3\}, A_2 = \{1, 3\}, A_3 = \{2, 4\}, A_4 = \{1, 2, 3, 4\}$. Sets $A_1, A_2, A_3$ are proper subsets of $A_4$, and also set $A_2$ is a proper subset of $A_1$. No other set is a proper subset of any other set.

In the second test case, we have $A_1 = \{1\}, A_2 = \{1, 2\}, A_3 = \{1, 2, 3\}$. $A_1$ is a proper subset of $A_2$ and $A_3$, and $A_2$ is a proper subset of $A_3$.