Підрахунок шляхів
За заданим орієнтовним графом g необхідно визначити кількість різних циклів, які мають довжину меншу k. Оскільки ця кількість може бути великою, обчислювати її слід по модулю m. Циклом називається непуста послідовність вершин (необов'язково різних), у якій з кожної попередньої вершини у наступну веде ребро, а також існує ребро, яке веде з останньої вершини у першу. Два цикла вважаються різними, якщо послідовності вершин, що їх визначають, різні.
Вхідні дані
Перший рядок містить кількість вершин у графе n (1 ≤ n ≤ 35) і числа k (1 ≤ k ≤ 10^6
) та m (1 ≤ m ≤ 10^9
). Наступні n рядків описують граф: j - ий символ i - го рядка матриці суміжності вказує на присутність ребра, що веде з вершини i у вершину j ('Y' означає, що ребро є, 'N' означає, що нема).
Вихідні дані
Вивести одне число - кількість різних циклів у g, довжини яких менші ніж k. Вивести результат за модулем m.