SCPC11A - Grey Area

Dr. Grey is a data analyst, who visualizes various aspects of data received from all over the

world everyday. He is extremely good at sophisticated visualization tools, but yet his favorite is a simple self-made histogram generator.

histogram

Figure 1 is an example of histogram automatically produced by his histogram generator. A histogram is a visual display of frequencies of value occurrences as bars. In this example, values in the interval 0–9 occur five times, those in the interval 10–19 occur three times, and 20–29 and 30–39 once each.

Dr. Grey’s histogram generator is a simple tool. First, the height of the histogram is fixed, that is, the height of the highest bar is always the same and those of the others are automatically adjusted proportionately. Second, the widths of bars are also fixed. It can only produce a histogram of uniform intervals, that is, each interval of a histogram should have the same width (10 in the above example). Finally, the bar for each interval is painted in a grey color, where the colors of the leftmost and the rightmost intervals are black and white,

respectively, and the darkness of bars monotonically decreases at the same rate from left to right. For instance, in Figure 1, the darkness levels of the four bars are 1, 2/3, 1/3, and 0, respectively.

In this problem, you are requested to estimate ink consumption when printing a histogram on paper. The amount of ink necessary to draw a bar is proportional to both its area and darkness.

Input

The input consists of multiple datasets, each of which contains integers and specifies a value table and intervals for the histogram generator, in the following format:

n w

v1

v2

...

vn

n is the total number of value occurrences for the histogram, and each of the n lines following the first line contains a single value. Note that the same value may possibly occur multiple times.

w is the interval width. A value v is in the first (i.e. leftmost) interval if 0 ≤ v

You may assume the following:

1 ≤ n ≤ 100

10 ≤ w ≤ 50

0 ≤ vi ≤ 100 for 1 ≤ i ≤ n

You can also assume that the maximum value is no less than w. This means that the histogram has more than one interval.

The end of the input is indicated by a line containing two zeros.

Output

For each dataset, output a line containing the amount of ink consumed in printing the histogram.

One unit of ink is necessary to paint one highest bar black. Assume that 0.01 units of ink per histogram is consumed for various purposes except for painting bars such as drawing lines and characters (see Figure 1). For instance, the amount of ink consumed in printing the histogram in Figure 1 is:

example

Each output value should be a 6 decimal fraction.

Example

Input:
3 50
100
0
100
3 50
100
100
50
10 10
1
2
3
4
5
16
17
18
29
30
0 0

Output:
0.510000
0.260000
1.476667

Added by:Ali Arous
Date:2011-10-18
Time limit:2.299s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ASM64
Resource:Syrian Collegiate Programming Contest 2011

hide comments
2013-06-25 21:56:31 vivek kishore
pls give the link of the histogram :(
2013-06-18 14:55:48 Ouditchya Sinha
Histogram missing? Please provide the picture.
2013-03-24 12:45:31 Kevin Sebastian
pls explain the first test case
2012-09-26 10:44:50 Nakul Krishna
Can anyone explain the second test case
Thanks in advance :)

got AC :)

Last edit: 2012-09-29 13:10:28
2012-04-12 20:41:41 *tazo*
Don't those hundreds fall in the third interval? (in the first test case) should not answer be 0.010000
2012-02-10 10:55:30 maaz
Tutorial Stuff buddy :P
2012-02-10 10:54:03 Aradhya
very easy
tutorial :)
2011-10-23 10:12:42 cegprakash
@Sandesh: +1
2011-10-21 14:48:33 Ankit Kumar Vats
Its correct.. 0.510000 Don't you consider "0" to be worthy enough to put in any histogram? ;)
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.