eolymp
bolt
Try our new interface for solving problems
Məsələlər

Вирусы

Вирусы

В некоторой антивирусной компании занимаются исследованием вирусов. Им известно о существовании \textbf{m} типов вирусов. Каждый вирус задается строкой из строчных букв латинского алфавита. Вирусам разного типа соответствуют разные строки. Недавно начались исследования ранее не изучавшихся объектов --- \textit{полностью зараженных строк}. Строка \textbf{s} называется \textit{полностью зараженной}, если для любого ее символа существует подстрока \textbf{s}, содержащая этот символ и являющаяся вирусом. Ваша задача --- по заданным вирусам найти количество полностью зараженных строк длины \textbf{n}. Так как это число может быть очень большим, выведите его по модулю \textbf{10^9+7}. \InputFile Первая строка содержит два целых числа \textbf{n} и \textbf{m} (\textbf{1} ≤ \textbf{n} ≤ \textbf{400}; \textbf{1} ≤ \textbf{m} ≤ \textbf{20}). Далее в \textbf{m} строках задано описание вирусов. В каждой из этих строк задана последовательность строчных букв латинского алфавита. Длина каждого вируса положительна и не превосходит \textbf{20} символов. \OutputFile Выведите единственное целое число --- остаток от деления числа полностью зараженных строк на \textbf{10^9+7}.
Zaman məhdudiyyəti 2 saniyə
Yaddaşı istafadə məhdudiyyəti 256 MiB
Giriş verilənləri #1
5 2
aba
babc
Çıxış verilənləri #1
2
Mənbə Russian-Code-Cup-2011 Отборочный раунд