B. ХранИЛИще
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

На Кипре стоит довольно жаркая погода. Поэтому Теофанис увидел в этом возможность создать компанию по производству мороженого.

Он хранит мороженое в безопасности от других производителей мороженого, запирая его в больших складских помещениях. Однако он забыл пароль. К счастью, у замка есть специальная функция для забывчивых людей!

Дана таблица $$$M$$$ с $$$n$$$ строками и $$$n$$$ столбцами неотрицательных целых чисел, и, чтобы открыть замок, вам нужно найти массив $$$a$$$ из $$$n$$$ элементов такой, что:

  • $$$0 \le a_i < 2^{30}$$$, и
  • $$$M_{i,j} = a_i | a_j$$$ для всех $$$i \neq 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}$$$).

Гарантируется, что $$$M_{i,i} = 0$$$ и $$$M_{i,j} = M_{j,i}$$$ для всех $$$1 \le i,j \le n$$$.

Также гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$10^{3}$$$.

Выходные данные

Для каждого набора входных данных, если существует решение, выведите в отдельных строках YES и искомый массив, в противном случае выведите NO.

Если существует несколько решений, выведите любое из них.

Вы можете выводить каждую букву в любом регистре (строчную или заглавную). Например, строки «yEs», «yes», «Yes» и «YES» будут приняты как положительный ответ.

Пример
Входные данные
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
Выходные данные
YES
7
YES
1 3 2 5 
YES
5 2 3 0 4
NO