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

using namespace std;

#define eps 10e-9

int pow(int x,int n) {
	if( x == 0 ) return 0;
	if( n == 0 ) return 1;
	if( n == 1 ) return x;
	if( n & 1 ) {
		int y = pow( x, (n-1)/2 );
		return x * y * y;
	} else {
		int y = pow( x, n / 2 );
		return y * y;
	}
}

int main(void){

	while(1){
		int n, m, k;
		cin >> n >> m >> k;
		if( n == 0 && m == 0 && k == 0 ) break;

		double e = 0;
		int lim = pow(m, n);
		vector<int> fact;
		for(int i = 0; i <= n; i++) {
			fact.push_back(pow(m, i));
		}

		//m進数変換
		for(int i = 0; i < lim; i++) {
			int sum = 0;
			for(int j = 0; j < n; j++) {
				sum += ( ( i % fact[j+1] ) / fact[j] + 1);
			}
			sum -= k;
			if( sum <= 1 ) sum = 1;
			e += (double)(sum * 1.0) / (double) lim;
		}
		printf("%.8lf\n", e);
	}
	return 0;
}