#include <iostream>
#include <algorithm>
#include <cstring>
#include <string>
#include <map>
#include <set>
#include <vector>
#include <cstring>
#include <cstdlib>
#include <fstream>

using namespace std;

//#define REDFILE
#ifdef REDFILE
ifstream ifs("input.txt");
ofstream ofs("output.txt");
#define cin ifs
#define cout ofs
#endif

int n,m,k;
double dp[2][10001];
int main(){
    //FILE *fp=fopen("output.txt","w");
    FILE *fp=stdout;
    while(cin>>n>>m>>k&&!(n==0&&m==0&&k==0)){
        for(int i = 0; i < 10001; i++)dp[0][i]=dp[1][i]=0;
        dp[0][0]=1.0;
        for(int i = 0; i < n; i++){
            int nxt=(i+1)%2;
            int cnt=i%2;
            for(int i = 0; i < 10001; i++)dp[nxt][i]=0;
            for(int j = 1; j < 10001; j++){
                for(int k = 1; k <= m; k++){
                    if(j-k>=0)
                        dp[nxt][j]+=dp[cnt][j-k]*(1.0/m);
                    else break;
                }
            }
        }
        double res=0;
        for(int i = 0; i <= 10000; i++){
            int a=max(1,i-k);
            res+=a*(dp[n%2][i]);
        }
        //cout<<res<<endl;
        fprintf(fp,"%.8f\n",res);
    }

    return 0;
}