310873: CF1903B. StORage room

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

B. StORage roomtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard output

In Cyprus, the weather is pretty hot. Thus, Theofanis saw this as an opportunity to create an ice cream company.

He keeps the ice cream safe from other ice cream producers by locking it inside big storage rooms. However, he forgot the password. Luckily, the lock has a special feature for forgetful people!

It gives you a table $M$ with $n$ rows and $n$ columns of non-negative integers, and to open the lock, you need to find an array $a$ of $n$ elements such that:

  • $0 \le a_i < 2^{30}$, and
  • $M_{i,j} = a_i | a_j$ for all $i \neq j$, where $|$ denotes the bitwise OR operation.

The lock has a bug, and sometimes it gives tables without any solutions. In that case, the ice cream will remain frozen for the rest of eternity.

Can you find an array to open the lock?

Input

The first line contains a single integer $t$ ($1 \le t \le 10^{3}$) — the number of test cases.

The first line of each test case contains a single integer $n$ ($1 \le n \le 10^{3}$) — the size of the hidden array.

The next $n$ lines describe the rows of $M$, line $i$ contains the table values $M_{i,1}, M_{i,2}, \ldots, M_{i,n}$ ($0 \le M_{i,j} < 2^{30}$).

It is guaranteed that $M_{i,i} = 0$ and $M_{i,j} = M_{j,i}$ for all $1 \le i,j \le n$.

It is also guaranteed that the sum of $n$ over all test cases does not exceed $10^{3}$.

Output

For each test case, if there is a solution print YES and an array that satisfies the property, otherwise print NO.

If there are multiple solutions, print any of them.

You can output the answer in any case (upper or lower). For example, the strings "yEs", "yes", "Yes", and "YES" will be recognized as positive responses.

ExampleInput
4
1
0
4
0 3 3 5
3 0 3 7
3 3 0 7
5 7 7 0
5
0 7 7 5 5
7 0 3 2 6
7 3 0 3 7
5 2 3 0 4
5 6 7 4 0
3
0 0 1
0 0 0
1 0 0
Output
YES
7
YES
1 3 2 5 
YES
5 2 3 0 4
NO

Output

题目大意:
在塞浦路斯,天气非常热,Theofanis决定开设一家冰淇淋公司。为了防止其他冰淇淋生产商的竞争,他将冰淇淋锁在大储藏室里,但忘记了密码。幸运的是,这个锁有一个特别的功能,适用于健忘的人!

锁提供了一张包含n行n列的非负整数的表格M,为了打开锁,需要找到一个包含n个元素的数组a,满足以下条件:
- $0 \le a_i < 2^{30}$
- 对于所有$i \neq j$,$M_{i,j} = a_i | a_j$,其中$|$表示按位或操作。

锁有时会提供一个没有解决方案的表格。在这种情况下,冰淇淋将永远冻结。

输入数据格式:
第一行包含一个整数$t$($1 \le t \le 10^{3}$)——测试用例的数量。
每个测试用例的第一行包含一个整数$n$($1 \le n \le 10^{3}$)——隐藏数组的大小。
接下来n行描述了M的行,第i行包含表格值$M_{i,1}, M_{i,2}, \ldots, M_{i,n}$($0 \le M_{i,j} < 2^{30}$)。

输出数据格式:
对于每个测试用例,如果有解决方案则输出YES和一个满足条件的数组;否则输出NO。
如果有多个解决方案,输出其中任何一个。
答案可以是任何大小写,例如"yEs"、"yes"、"Yes"和"YES"都将被识别为肯定响应。题目大意: 在塞浦路斯,天气非常热,Theofanis决定开设一家冰淇淋公司。为了防止其他冰淇淋生产商的竞争,他将冰淇淋锁在大储藏室里,但忘记了密码。幸运的是,这个锁有一个特别的功能,适用于健忘的人! 锁提供了一张包含n行n列的非负整数的表格M,为了打开锁,需要找到一个包含n个元素的数组a,满足以下条件: - $0 \le a_i < 2^{30}$ - 对于所有$i \neq j$,$M_{i,j} = a_i | a_j$,其中$|$表示按位或操作。 锁有时会提供一个没有解决方案的表格。在这种情况下,冰淇淋将永远冻结。 输入数据格式: 第一行包含一个整数$t$($1 \le t \le 10^{3}$)——测试用例的数量。 每个测试用例的第一行包含一个整数$n$($1 \le n \le 10^{3}$)——隐藏数组的大小。 接下来n行描述了M的行,第i行包含表格值$M_{i,1}, M_{i,2}, \ldots, M_{i,n}$($0 \le M_{i,j} < 2^{30}$)。 输出数据格式: 对于每个测试用例,如果有解决方案则输出YES和一个满足条件的数组;否则输出NO。 如果有多个解决方案,输出其中任何一个。 答案可以是任何大小写,例如"yEs"、"yes"、"Yes"和"YES"都将被识别为肯定响应。

加入题单

上一题 下一题 算法标签: