#include <stdio.h>
#include <string.h>

int n,m,k;
int baai[100000000];

void get_baai(int now,int rest) {
	int i;
	if(rest<=0) {
		baai[now]++;
	} else {
		for(i=1;i<=m;i++)get_baai(now+i,rest-1);
	}
}

int main(void) {
	int i;
	int max;
	int result;
	while(1) {
		scanf("%d%d%d",&n,&m,&k);
		if(n==0 && m==0 && k==0)break;
		memset(baai,0,sizeof(baai));
		for(i=0,max=1;i<n;i++)max*=m;
		get_baai(0,n);
		result=0;
		for(i=1;i<=max;i++) {
			result+=(i>k?i-k:1)*baai[i];
		}
		printf("%.15f\n",(double)result/max);
	}
	return 0;
}