### main

loop do
  n, m, k = gets.split.map(&:to_i)
  break if (n | m | k) == 0
  #p [n, m, k]

  dp = Array.new(n + 1){[]}
  dp[1][0] = 0
  (1..m).each{|i| dp[1][i] = 1}
  min_s = 1
  max_s = m
  
  for i in (1...n)
    i1 = i + 1
    dp[i1] = Array.new(max_s + m + 1){0}

    for j in (min_s..max_s)
      (1..m).each{|d| dp[i1][j + d] += dp[i][j]}
    end

    min_s += 1
    max_s += m
  end
  #p dp[n]

  sum = 0
  for i in (min_s..max_s)
    d = i - k
    sum += ((d < 1) ? 1 : d) * dp[n][i]
  end

  puts "%.8f" % (sum.to_f / (m ** n))
end