# savinqBoxes-q3
# Exs for Section 47, Q.3, p.166, p.275-276
# inputs: 10 2 100 or 100 60 100

import random

n,k,rep = map(int, input("n k rep=? ").split())
p = [i for i in range(n)]
count = 0
for j in range(rep):
  for i in range(n):
    p[i] = i
  for i in range(n-1,0,-1):   # random perm
    r = random.randint(0,i)
    p[i], p[r] =  p[r], p[i]
  i = 0
  while i < k:
    first = i
    if p[i] > 0:
      while True:
        r = first
        first = p[first]
        p[r] = -p[r]
        if first == i:
          break
    i += 1
    i = 0
    while (i < n-1) and (p[i] <= 0):
      i += 1
    if p[i] < 0:
      count += 1
print(f"p == {count/rep:.5f}")
