#include <iostream>
#include <map>
#include <cstdio>
#include <cmath>

using namespace std;

int n,m,k;
map<int,int> mp;
void loop(int sum, int l);

int main(int argc, char const *argv[])
{

	while(1){
		cin>>n>>m>>k;
		if(n+m+k==0) break;

		mp.clear();
		loop(0,1);

		int sum=0;
		for(map<int,int>::iterator it=mp.begin();it!=mp.end();it++){
			sum+=((*it).first*(*it).second);
		}

		printf("%0.8f\n",sum/pow((double)m,(double)n));


	}
	return 0;
}

void loop(int sum,int l)
{
	for(int i1=1;i1<=m;i1++){
		if(l<n) loop(sum+i1,l+1);
		else {
			int temp=sum+i1-k;
			if(temp<=0) temp=1;
			mp[temp]++;
		}
	}
}