eolymp
bolt
Try our new interface for solving problems
Problems

Skating

Skating

\includegraphics{https://static.e-olymp.com/content/36/36bbeea53d0d0da597f81c9de33b4b55910f06b3.jpg} Федерация конькобежного спорта решилась на необычный эксперимент. Теперь на костюмах спортсменов вместо стартовых номеров будут написаны стартовые строки. Планируется, что это повысит зрелищность соревнования. Тем более что строки планируется генерировать случайным образом. Формально генерация строки выглядит следующим образом. Строка определяется последовательностью случайных символов. Каждый символ генерируется независимо из \textbf{N} первых букв латинского алфавита с равной вероятностью и добавляется в конец существующей строки. Символ добавляется к строке до тех пор, пока в строке не встретится в качестве подстроки один из заданных шаблонов. Необходимо найти математическое ожидание длины сгенерированной строки. \InputFile В первой строке записаны числа \textbf{N} и \textbf{M} (\textbf{1} ≤ \textbf{N} ≤ \textbf{8}, \textbf{1} ≤ \textbf{M} ≤ \textbf{10}). \textbf{N} - количество используемых букв в алфавите. \textbf{M} -- количество шаблонов. Далее записано \textbf{M} строк, содержащих шаблоны, состоящие из \textbf{N} первых букв алфавита. Длина шаблонов не превышает \textbf{10}. \OutputFile Выведите математическое ожидание длины строки с точностью два знака после десятичной точки.
Time limit 2 seconds
Memory limit 64 MiB
Input example #1
2 1
ABA
Output example #1
10.00
Author Бирюков С.В.
Source IV Открытая олимпиада ЮФУ