Keyboard
Once upon a time, Oleg purchased a new laptop. Oleg is a huge fan of the slightly outdated operating system Dindows PX. However, as everyone knows, modern laptops come with the pre-installed Dindows version 18. Without much hesitation, Oleg removed the pre-installed Dindows 18 and installed his favorite version, PX. Naturally, this wasn't straightforward, as hardware manufacturers often don't provide proper drivers for older operating systems. Oleg spent long days and sleepless nights dealing with freezes and Green Screens of Life. Finally, he succeeded! His joy was immense... until he realized that half of the hardware wasn't functioning correctly. But could that deter him?
One day, Oleg faced a new challenge: he needed to print a specific text S of length n. It seemed simple enough, but there was a small issue with the keyboard—after booting the laptop, some keys wouldn't work. According to Oleg's observations, after each reboot, exactly t Latin letters are functional, chosen randomly each time with equal probability. Initially, Oleg has an empty file. He can only append new characters to the end of the file, and the text already written is saved before each reboot, allowing him to continue editing from the saved point after rebooting.
Oleg wants to calculate the expected number of reboots needed to completely print the text S. He could easily write the necessary program himself, but with his keyboard, it's quite challenging, so he has asked for your help.
Input
The first line of the input file contains two numbers n (1 ≤ n ≤ 10^6) and t (1 ≤ t ≤ 26). The second line contains the string S of length n, consisting of lowercase Latin letters.
Output
Output the expected number of reboots required, with an absolute or relative error not exceeding 10 ^{- 6}.