#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; vector> vec(30); int main() { long double ans; string s; cin >> s; long double n = s.size(); ans = n * (n + 1) / 2 * 26; for (int i = 0; i < 26; i++) { vec[i].emplace_back(0); } for (int i = 1; i <= n; i++) { vec[int(s[i - 1] - 'a')].emplace_back(i); } for (int i = 0; i < 26; i++) { vec[i].emplace_back(n + 1); } for (int i = 0; i < 26; i++) { for (int j = 1; j < vec[i].size(); j++) { long double m = vec[i][j] - vec[i][j - 1] - 1; ans -= m * (m + 1) / 2; } } cout << fixed << setprecision(16) << ans / (n * (n + 1) / 2) << endl; }