Задачи
Вирусы
Вирусы
В некоторой антивирусной компании занимаются исследованием вирусов. Им известно о существовании \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}.
Входные данные #1
5 2 aba babc
Выходные данные #1
2