eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Назви віршів

Назви віршів

\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}, які зможе написати Бараш, не змінюючи своего правила про довжину назв та не порушуючи закон.
Ліміт часу 3 секунди
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
2 3 100
10
01
Вихідні дані #1
2