#include <bits/stdc++.h>
using namespace std;
vector<int> g[5010];
int t[26], Max, ans = 0;
vector<int> vec[26];
char s[5010], ss[5010][5010];
int main() {
  scanf("%s", s + 1);
  int len = strlen(s + 1);
  for (int i = 1; i <= len; i++) {
    vec[s[i] - 'a'].push_back(i);
    for (int j = 1; j <= len; j++)
      if (i - 1 + j <= len)
        ss[i][j] = s[i - 1 + j];
      else
        ss[i][j] = s[i - 1 + j - len];
  }
  for (int k = 0; k < 26; k++) {
    Max = 0;
    for (int i = 1; i <= len; i++) {
      memset(t, 0, sizeof(t));
      for (int j = 0; j < vec[k].size(); j++) t[ss[vec[k][j]][i] - 'a']++;
      int x = 0;
      for (int j = 0; j < 26; j++)
        if (t[j] == 1) x++;
      Max = max(x, Max);
    }
    ans += Max;
  }
  printf("%.7f", (double)ans / len);
}
