#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cmath>
#define dec double
#define ll long long
using namespace std;
const int MAXN = 5005;
int n; char s[MAXN][MAXN];
// 第一个位置是什么、第几位、有几个
int cnt[26][MAXN][26], num[26]; dec ans;
int main() {
scanf("%s", s[0] + 1); n = strlen(s[0] + 1);
for (int i = 1; i < n; i++) {
for (int j = 1; j < n; j++) {
s[i][j] = s[i - 1][j + 1];
}
s[i][n] = s[i - 1][1];
}
for (int i = 0; i < n; i++) {
num[s[i][1] - 'a'] ++;
for (int j = 2; j <= n; j++) {
cnt[s[i][1] - 'a'][j][s[i][j] - 'a'] ++;
}
}
for (int i = 0, mx, tmp; i < 26; i++) {
if (!num[i]) continue;
mx = 0;
for (int j = 2; j <= n; j++) {
tmp = 0;
for (int k = 0; k < 26; k++) {
if (cnt[i][j][k] == 1) tmp ++;
}
mx = max(mx, tmp);
}
ans += (dec)mx / n;
}
printf("%.15lf", ans);
return 0;
}
144. Binary Tree Preorder Traversal | 137. Single Number II |
130. Surrounded Regions | 129. Sum Root to Leaf Numbers |
120. Triangle | 102. Binary Tree Level Order Traversal |
96. Unique Binary Search Trees | 75. Sort Colors |
74. Search a 2D Matrix | 71. Simplify Path |
62. Unique Paths | 50. Pow(x, n) |
43. Multiply Strings | 34. Find First and Last Position of Element in Sorted Array |
33. Search in Rotated Sorted Array | 17. Letter Combinations of a Phone Number |
5. Longest Palindromic Substring | 3. Longest Substring Without Repeating Characters |
1312. Minimum Insertion Steps to Make a String Palindrome | 1092. Shortest Common Supersequence |
1044. Longest Duplicate Substring | 1032. Stream of Characters |
987. Vertical Order Traversal of a Binary Tree | 952. Largest Component Size by Common Factor |
212. Word Search II | 174. Dungeon Game |
127. Word Ladder | 123. Best Time to Buy and Sell Stock III |
85. Maximal Rectangle | 84. Largest Rectangle in Histogram |