Задачі
Назви віршів
Назви віршів
\includegraphics{https://static.e-olymp.com/content/14/143f65b06da985ca9cf73f30d3272ce3c08b40c7.jpg}
На нещодавно проведеному референдумі смішарики прийняли поправки до статтіе <<Назви віршів>> закону <<Про Захист Авторських Прав>>. Раніше закон вимагав, щоб назвн віршів були послідовностями з \textbf{0} і \textbf{1}. А зараз необхідно, щоб назва кажного нового вірша не тільки складалась з \textbf{0} і \textbf{1}, але і не містила в собі нази інших, вже опублікованих творів.
Після референдуму, смішарики опублікували на своєму сайті список назв вже існуючих творів. І з появою кожного нового вірша вирішили оновлювати цей список.
Взнавши про такі зміни в законодавстві, Бараш вирішив називати всі свої шедеври послідовностями довжини \textbf{К}. Він зайшов на сайт смішариків і побачив, що в списку вже є \textbf{N} чужих творів. Йому стало цікаво, скільки ще віршів він зможе написати, не порушуючи новий закон. Почавши рахувати, Бараш зрозумів, що це занадто складно і йому з цим не справитись. Допоможіть Барашу визначити, скільки віршів він зможе написати. Бараш підозрює, що таких віршів буде занадто багато, тому він просить вивести не все число, а взяте по модулю \textbf{P}
.
\InputFile
У першому рядку задано три числа \textbf{N}, \textbf{К} (\textbf{K} ≤ \textbf{1000}) і \textbf{P} (\textbf{P} ≤ \textbf{2*10^9}). У наступних \textbf{N} рядках записано список назв. Кожна назва являє собою послідовність нулів та единиць. Довжина слів не перевищує \textbf{15}. Відомо, що до прийняття закону деякі назви віршів могли співпадати, але зі списку їх не видалили.
\OutputFile
Вивести число, рівне кількості віршів по модулю \textbf{P}, які зможе написати Бараш, не змінюючи своего правила про довжину назв та не порушуючи закон.
Вхідні дані #1
2 3 100 10 01
Вихідні дані #1
2