#include #include #include #include #include using namespace std; int main() { int F, N, K; cin >> F >> N >> K; double ans = 0; for (int t = 1; t <= F; t++) { static double dp0[101][101]; static double dp1[101][101]; fill_n(*dp0, 101 * 101, 0.0); dp0[0][0] = 1; for (int k = 0; k < N; k++) { fill_n(*dp1, 101 * 101, 0.0); for (int i = 0; i <= k; i++) { for (int j = 0; i + j <= k; j++) { dp1[i + 1][j] += 1.0 * (F - t) / F * dp0[i][j]; dp1[i][j + 1] += 1.0 / F * dp0[i][j]; dp1[i][j] += 1.0 * (t - 1) / F * dp0[i][j]; } } swap(dp0, dp1); } for (int i = 0; i <= N; i++) { for (int j = 0; i + j <= N; j++) { if (i + 1 <= K && K <= i + j) { ans += t * dp0[i][j]; } } } } printf("%.20f\n", ans); }