Розгляньмо мережу з вершин, позначених числами від до . Кожна вершина може бути відправником, отримувачем або ні тим, ні іншим. Кількість відправників дорівнює кількості отримувачів (S \ge 1).
Зв'язки між вершинами в мережі описуються списком спрямованих ребер у вигляді i → j, що означає, що вершина може передавати інформацію вершині . Всі ці ребра задовольняють умову i < j, за винятком ребер, які задовольняють умову i > j. Циклів (ребер виду i → i) немає.
Схема маршрутизації складається з множини спрямованих шляхів від відправників до отримувачів, таких, що жодні два з цих шляхів не мають спільної кінцевої точки. Тобто шляхи з'єднують різних відправників з різними отримувачами. Шлях від відправника до отримувача може бути описаний як послідовність вершин
така, що спрямовані ребра v_i → v_{i+1} існують для всіх 0 \le i < e. Одна вершина може з'явитися більше ніж один раз в одному і тому ж шляху.
Порахуйте кількість різних схем маршрутизації, таких, що кожне спрямоване ребро проходиться рівно один раз. Оскільки відповідь може бути дуже великою, виводьте її за модулем 10^9 + 7. Гарантується, що існує хоча б одна схема маршрутизації, що задовольняє обмеженням.
Кожен набір вхідних даних містить тестів. Гарантується, що сума n^2 всіх тестів не перевищить 2 \cdot 10^4.
Перший рядок містить кількість тестів t~(1 \le t \le 20).
Перший рядок кожного тесту містить цілі числа n~(2 \le n \le 100) і k~(0 \le k \le 2). Зазначимо, що не визначається явно у вводі.
Другий рядок кожного тесту містить рядок довжини . -ий символ рядка дорівнює , якщо -а вершина відправник, — якщо -а вершина отримувач, — якщо -а вершина ні те, ні інше. Кількості символів і рівні. Є хоча б один символ .
Кожна з наступних рядків тесту містить бітовий рядок з нулів і одиниць. -ий біт в -му рядку дорівнює , якщо існує спрямоване ребро від вершини до вершини , і в іншому випадку. Оскільки петель немає, на головній діагоналі всі нулі. Більше того, є рівно одиниць нижче головної діагоналі.
Послідовні тести розділені порожніми рядками для читабельності.
Для кожного тесту виведіть кількість схем маршрутизації таких, що кожне ребро проходиться рівно один раз, за модулем 10^9 + 7. Гарантується, що існує хоча б одна валідна схема маршрутизації.
Приклад 1. Для першого тесту ребра мають вигляд:

Існують чотири схеми маршрутизації:
Для другого тесту ребра мають вигляд:
Одна з можливих схем маршрутизації:
У загальному випадку відправники \{1, 2, 3\} можуть маршрутизуватися деякою перестановкою отримувачів \{5, 6, 7\}, і відправники можуть маршрутизуватися деякою перестановкою отримувачів даючи відповідь 6 \cdot 2 = 12.
Приклад 2. Для першого тесту ребра мають вигляд:

Існують три схеми маршрутизації:
Для другого тесту ребра мають вигляд:
Існує тільки одна схема маршрутизації:
Приклад 1
Приклад 2
Приклад 3