import sys sys.setrecursionlimit(10**5 + 10) INF = float("inf") def solve(): N, M, K = [int(s) for s in input().split()] remain = (N * M) - K # comb(m - 2, rem - 1) / comb(m - 1, rem) # n!*(r-1)!/r!(n-1)! P = remain / (M - 1) if remain < (M - 1) else 1.0 cache = [INF] * (N) def dp(n): if cache[n] != INF: return cache[n] if (N - 1 - n) * M >= K: cache[n] = 1.0 return cache[n] if n == 0: cache[n] = (1 / M) * P return cache[n] p = (M - 1) / (M * (n + 1)) * P p += n / (n + 1) * dp(n - 1) cache[n] = p return cache[n] print(dp(N - 1)) if __name__ == "__main__": T = int(input()) for _ in range(T): solve()