Підрахунок турів#1103

Підрахунок турів

1 секунда
128 мегабайтів
Дуже легка

Дано орієнтований граф , визначте кількість різних циклів довжини меншої за . Оскільки ця кількість може бути великою, виведіть відповідь по модулю . Цикл — це непорожня послідовність вершин (не обов'язково різних), така що з кожної вершини послідовності існує ребро до наступної, а з останньої — до першої. Два цикли вважаються різними, якщо їх визначальні послідовності різні.

Вхідні дані

Перший рядок містить кількість вершин графа (1 \leq n \leq 35), (1 \leq k \leq 10^6) та (1 \leq m \leq 10^9). Наступні рядків описують граф: -ий символ -го рядка в матриці суміжності означає, чи існує ребро з вершини у вершину ('Y' означає, що є ребро, 'N' — що немає).

Вихідні дані

Виведіть кількість різних циклів у довжини меншої за . Відповідь виведіть по модулю .

Приклади

Приклад 1

Loading
Loading