Клавиатура
Однажды, Олег купил себе новый ноутбук. Олег - большой любитель малость устаревшей операционной системы Dindows PX. Но, как известно, современные ноутбуки поставляются с предустановленной ОС Dindows версии 18. Так что Олег, недолго думая, удалил предустановленную Dindows 18 и установил столь любимую им версию PX. Разумеется, всё было далеко не так просто, ведь производители железа часто забрасывают написание нормальных драйверов для несколько устаревших операционных систем. Так что долгими днями и бессонными ночами боролся Олег с зависаниями и Зелеными Экранами Жизни. И вот, наконец, у него это получилось! Не было предела радости Олега... По крайней мере, до тех пор, пока не выяснилось, что половина железа работает не совсем корректно. Но разве могло это его остановить?
И вот, однажды перед Олегом предстала следующая задача: напечатать некоторый текст S длины n. Казалось бы, что может быть проще? Если бы только не один маленький баг с клавиатурой - после загрузки ноутбука некоторые символы на клавиатуре не работают. Судя по наблюдениям Олега, после каждой перезагрузки работают ровно t латинских символов, которые каждый раз выбираются случайно с равной вероятностью. Изначально, у Олега есть пустой файл. Он может дописывать новые символы только в конец файла, и уже написанный текст сохраняется перед каждой перезагрузкой, так что он может продолжать его редактирование после перезагрузки с сохранённого места.
Олег хочет посчитать матожидание количества перезагрузок, которые ему придется совершить, чтобы полностью напечатать текст S. Разумеется, он и сам бы легко написал нужную программу, но с его-то клавиатурой это достаточно проблематично, поэтому он попросил вас помочь ему.
Входные данные
В первой строке входного файла находится два числа n (1 ≤ n ≤ 10^6) и t (1 ≤ t ≤ 26). Во второй строке находится строка S длины n, состоящая из строчных латинских букв.
Выходные данные
Выведите искомое матожидание с абсолютной или относительной погрешностью не более, чем 10 ^{- 6}.