회색 영역

시간 제한1초메모리 제한128 MB

문제

성공한 스타트업 "봉씨"의 데이터 분석가 이석원은 매일 전 세계 사용자에 대한 정보를 받아 시각화한다. 이때 자신이 직접 만든 시각화 도구를 사용한다.

아래 그림은 이석원의 도구로 만든 히스토그램이다.

Example histogram

이 예에서 구간 0-9는 5번, 10-19는 3번, 20-29와 30-39는 각각 한 번씩 나타났다.

이석원의 히스토그램 프로그램은 매우 간단하다. 먼저 히스토그램의 높이는 고정되어 있다. 즉 가장 높은 막대의 높이는 항상 일정하고, 나머지 막대의 높이는 그 막대와의 비율로 정해진다. 막대의 너비도 고정되어 있으므로 각 구간의 크기 또한 고정되어 있다(위 그림에서는 10이다).

마지막으로, 막대는 위치에 따라 음영이 정해진다. 가장 왼쪽 막대는 검은색(검은 정도 1), 가장 오른쪽 막대는 흰색(검은 정도 0)이며, 그 사이 막대는 왼쪽에서 오른쪽으로 갈수록 일정한 비율로 밝아진다. 예를 들어 위 그림에서 네 막대의 검은 정도는 1, 2/3, 1/3, 0이다.

히스토그램을 그리는 데 필요한 잉크의 양을 구하는 프로그램을 작성하라. 각 막대를 그리는 데 필요한 잉크의 양은 그 막대의 넓이와 검은 정도에 비례한다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫째 줄에는 값의 개수 $n$과 구간의 크기 $w$가 주어진다. 이어서 값들이 주어진다. 첫 번째 막대의 구간은 $0 \le v < w$, 두 번째 막대의 구간은 $w \le v < 2w$이며, 나머지 막대도 같은 방식으로 정한다. 첫 번째 막대부터 가장 큰 값이 속한 막대까지는, 값이 하나도 없더라도 모두 그려야 한다. ($1 \le n \le 100$, $10 \le w \le 50$, $0 \le v \le 100$.)

가장 큰 값은 $w$보다 작지 않으므로, 히스토그램은 항상 두 개 이상의 막대를 가진다.

입력의 마지막 줄에는 $0$이 두 개 주어진다.

출력

각 테스트 케이스에 대해 히스토그램을 그리는 데 필요한 잉크의 양을 출력한다.

가장 높은 막대를 전부 검은색으로 칠하는 데는 잉크가 $1$만큼 필요하고, 축과 글자를 그리는 데는 $0.01$만큼 필요하다. 막대의 넓이는 높이에 비례하고 높이는 그 막대에 속한 값의 개수에 비례하므로, 각 막대는 (그 막대의 값의 개수를 가장 큰 값의 개수로 나눈 값)에 검은 정도를 곱한 만큼 잉크를 쓰고, 여기에 축과 글자를 위한 $0.01$을 더한다.

잉크의 양은 소수점 아래 정확히 여섯 자리로 반올림하여 출력한다(printf("%.6f")와 동일). 정답이 반올림 경곗값(중간값)에 놓이는 테스트 케이스는 없다.