#include <stdio.h>
#include <cmath>
#include <algorithm>
#include <stack>
#include <queue>
#include <vector>
typedef long long int ll;

#define BIG_NUM 2000000000

using namespace std;

void func(int N,int M,int K){
	int table[N*M+1],pre[N*M+1],limit = N*M;
	for(int i = 1; i <=limit;i++){
		pre[i] = 0;
	}

	for(int a = 1; a <= M; a++)pre[a] = 1;

	if(N == 1)for(int i = 1; i <= limit; i++){
		table[i] = pre[i];
	}else{
		for(int i = 2; i <= N; i++){
			for(int a =1; a <= limit; a++)table[a] = 0;
			for(int a = limit; a >= 1; a--){
				if(pre[a] > 0){
					for(int b = 1; b <= M; b++)table[a+b] += pre[a];
				}
			}
			for(int a =1; a <= limit; a++)pre[a] = table[a];
		}
	}

	int cut_back = 0;

	for(int i = 1; i <= K+1;i++){
		cut_back += table[i];
	}

	double bunbo = (double)pow(M,N);
	double ans = (double)cut_back/bunbo;

	for(int i = K+2; i <= limit; i++){
		ans += (double)(i-K)*((double)table[i]/bunbo);
	}

	printf("%.8lf\n",ans);

}

int main(){

	int N,M,K;

	while(true){
		scanf("%d %d %d",&N,&M,&K);
		if(N == 0 && M == 0 && K == 0)break;

		func(N,M,K);
	}

	return 0;
}