// https://atcoder.jp/contests/soundhound2018-summer-qual/tasks/soundhound2018_summer_qual_c

fun main() {
    soundhound2018c()
}

fun soundhound2018c() {
    val (n, m, d) = readLine()!!.split(" ").map { it.toLong() }
    var beauty = 0.0
    var count = 0L
    if (d == 0L) {
        count = n
    } else {
        for (i in 1..n) {
            if (i - d > 0L) count++
            if (i + d <= n) count++
        }
    }
    beauty = count.toDouble() / n / n
    var t = beauty
    for (i in 2 until m) {
        beauty += t
    }
    println("%.10f".format(beauty))
}