#include #include #include #include using ldouble = long double; using lint = long long; void solve() { std::string s; std::cin >> s; lint n = s.length(); std::vector sum(27, 0); for (int k = 0; k <= 26; ++k) { std::vector cnt(26, 0); int kind = 0; int r = 0; for (int l = 0; l < n; ++l) { while (r < n && kind <= k) { int c = s[r] - 'a'; if (cnt[c] == 0) ++kind; ++cnt[c]; ++r; } sum[k] += r - l - (kind > k); { int c = s[l] - 'a'; --cnt[c]; if (cnt[c] == 0) --kind; } } } lint ans = 0; for (int k = 1; k <= 26; ++k) { ans += (sum[k] - sum[k - 1]) * k; } std::cout << std::fixed << std::setprecision(10) << ldouble(ans) / (n * (n + 1) / 2) << std::endl; } int main() { std::cin.tie(nullptr); std::ios::sync_with_stdio(false); solve(); return 0; }