#include <stdio.h>
#include <memory.h>
int main(void){
	int n,w,i,v,h[10],maxh,maxv,maxw;
	double ans;
	while(1){
		scanf("%d %d",&n,&w);
		if(!n){
			break;
		}
		maxv=-1;
		ans=maxh=maxw=0;
		memset(h,0,sizeof(h));
		for(i=0;i<n;i++){
			scanf("%d",&v);
			if(maxv<v){
				maxv=v;
			}
			if(maxw<v/w){
				maxw=v/w;
			}
			h[v/w]++;
			if(maxh<h[v/w]){
				maxh=h[v/w];
			}
		}
		for(i=maxw;i>0;i--){
			ans+=i*h[maxw-i];
		}
		ans=ans*1.0/(maxh*maxw);
		ans+=0.01;
		printf("%.16f\n",ans);
	}
	return 0;
}