Задачі
Віруси
Віруси
У деякій антивірусній компанії займаються дослідженням вірусів. Їм відомо про існування \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