Віруси
У деякій антивірусній компанії займаються дослідженням вірусів. Їм відомо про існування m типів вірусів. Кожен вірус задається рядком з рядкових букв латинського алфавіту. Вірусам різного типу відповідають різні рядки.
Нещодавно розпочались дослідження об'єктів, які раніше не вивчались, — повністю заражених рядків. Рядок s називається повністю зараженим, якщо для довільного його символа існує підрядок s, що містить цей символ і є вірусом.
Ваша задача — за заданими вірусами знайти кількість повністю заражених рядків довжини n. Так як це число може бути дуже великим, виведіть його по модулю 10^9+7.
Вхідні дані
Перший рядок містить два цілих числа n та m (1 ≤ n ≤ 400; 1 ≤ m ≤ 20).
Далі у m рядках задано описи вірусів. У кожному з цих рядків задана послідовність рядкових букв латинського алфавіту.
Довжина кожного віруса додатна і не перевищує 20 символів.
Вихідні дані
Виведіть єдине ціле число — залишок від ділення числа повністю заражених рядків на 10^9+7.