Вы играете в игру со своим другом. Ниже приведено описание этой игры.
Ваш друг придумывает n различных строк одинаковой длины m и сообщает вам все строки. Далее он выбирает случайным образом одну из них. Он выбирает строки равновероятно, то есть вероятность выбора каждой из n строк равна
. Вы хотите угадать, какую из строк выбрал ваш друг.
Для того, чтобы угадать строку, загаданную другом, вам разрешается задавать другу вопросы. Каждый вопрос имеет следующую форму: «Какой символ стоит на позиции pos в загаданной тобой строке?». Строка считается угаданной, когда ответы на заданные вопросы однозначно определяют загаданную строку. После того, как строка становится угаданной, вы прекращаете задавать вопросы.
У вас нет определённой стратегии, поэтому очередным вопросом вы каждый раз равновероятно выбираете одну из еще не названных позиций. Ваша задача — определить математическое ожидание количества вопросов, необходимых для того, чтобы угадать выбранную вашим другом строку.
Выходные данные
Выведите единственное число — искомое математическое ожидание. Ваш ответ будет считаться правильным, если его абсолютная или относительная погрешность не превышает 10 - 9.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
2 aab aac
|
2.000000000000000
|
|
2
|
3 aaA aBa Caa
|
1.666666666666667
|
|
3
|
3 aca vac wqq
|
1.000000000000000
|