S = gets.chomp N = S.size A = N * (1 + N) / 2 P = Hash.new { |h, k| h[k] = [0] } N.times do |i| s = S[i] P[s] << i + 1 end sum = 0 P.each do |_, positions| positions << N + 1 cnt = 0 positions.each_cons(2) do |i, j| l = j - i - 1 cnt += l * (1 + l) / 2 end sum += A - cnt end puts Rational(sum, A).to_f.round(12)