E1. Передача перестановки (простая версия)
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Это простая версия задачи. В этой версии ограничения на $$$n$$$ и на сумму $$$n$$$ по всем наборам входных данных равны $$$2\,000$$$, а количество наборов входных данных не превышает $$$200$$$.

Была перестановка $$$p$$$ размера $$$n$$$$$$^{\text{∗}}$$$.

Её отправили по каналу связи следующим образом: сначала отправили все $$$0$$$-е по счёту биты каждого числа $$$p_{i}$$$ в перестановке в виде строки из $$$n$$$ символов 0 и/или 1, потом отправили $$$1$$$-е по счёту биты в таком же формате и так далее до самого старшего бита числа $$$n$$$.

Например, для $$$p = [3, 1, 2, 4]$$$ были бы отправлены следующие три строки:

  1. «1100»;
  2. «1010»;
  3. «0001».

Вы получили все эти строки, однако порядок, в котором какая строка за какой бит отвечает, был потерян, то есть строки пришли в произвольном порядке. Для примера выше строки могли прийти в порядке «1010», «0001» и «1100».

Ваша задача — сказать, сколько вариантов изначальной перестановки $$$p$$$ могло быть передано. Возможно, что данные в процессе повредились, и не существует ни одного варианта изначальной перестановки $$$p$$$.

$$$^{\text{∗}}$$$Перестановка размера $$$n$$$ — массив размера $$$n$$$, в котором каждое целое число от $$$1$$$ до $$$n$$$ встречается ровно по одному разу.

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

Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 200$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.

В первой строке каждого набора входных данных содержится одно целое число $$$n$$$ ($$$1 \le n \le 2\,000$$$).

В следующих $$$\lceil\log_2 (n + 1) \rceil$$$ строках каждого набора содержатся переданные данные в полученном порядке. Каждая строка состоит из $$$n$$$ символов $$$0$$$ и/или $$$1$$$.

Дополнительные ограничения на входные данные:

  • сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2\,000$$$.
Выходные данные

Для каждого набора входных данных выведите одно целое число — ответ на задачу.

Пример
Входные данные
6
1
1
4
1010
0001
0110
7
0101011
1100101
0110110
5
10110
01100
11001
6
001011
111000
000000
7
1100001
1100001
1100011
Выходные данные
1
2
6
0
0
0
Примечание

В первом примере могла быть только одна перестановка $$$p = [1]$$$.

Во втором примере возможны $$$2$$$ варианта: $$$[1, 2, 3, 4]$$$ и $$$[2, 1, 3, 4]$$$.

В четвёртом примере нет подходящих изначальных перестановок.