Олимпиадный тренинг

Задача . B. Игра со строкой


Вася и Коля играют в игру со строкой по следующим правилам. Сначала Коля загадывает строку s, состоящую из строчных латинских букв, и равновероятно выбирает из отрезка [0, len(s) - 1] целое число k. Он сообщает строку s Васе, а затем циклически сдвигает её на k символов влево, то есть получает новую строку t = sk + 1sk + 2... sns1s2... sk. Вася не знает ни числа k, ни итоговой строки t, но хочет угадать число k. Для этого он может попросить Колю открыть первую букву получившейся строки, а затем, увидев её, еще одну букву на некоторой позиции, которую Вася может выбрать.

Вася уже понял, что не может гарантировать себе победу, однако, он хочет узнать вероятность своего выигрыша при оптимальной игре. Вам необходимо помочь ему в этом.

Заметим, что целью Васи является однозначное определение числа k, значит, если после открытия второй буквы остается не менее двух циклических сдвигов исходной строки s, удовлетворяющих известной информации, Вася считается проигравшим. Конечно же, в каждый момент игры Вася пытается максимизировать вероятность своего выигрыша, насколько это возможно.

Входные данные

Единственна строка содержит строку s длины l (3 ≤ l ≤ 5000), состоящую из строчных латинских букв.

Выходные данные

Выведите одно вещественное число — ответ на задачу. Ответ будет считаться верным, если его абсолютная или относительная ошибка не будет превосходить 10 - 6.

Формально, пусть ваш ответ равен a, а ответ жюри — b. Ваш ответ считается правильным, если .

Примечание

В первом примере после открытия первой буквы Вася может попросить открыть вторую букву, и после этого циклический сдвиг определяется однозначно.

Во втором примере если первой буквой в циклическом сдвиге t будет «t» или «c», то у Васи не получится угадать сдвиг, открыв лишь одну другую букву. В то же время, если первой буквой будет «i» или «a», то, открыв четвертую букву, можно однозначно определить циклический сдвиг.


Примеры
Входные данныеВыходные данные
1 technocup
1.000000000000000
2 tictictactac
0.333333333333333
3 bbaabaabbb
0.100000000000000

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w641
Комментарий учителя