랠리

아직 제출이 없습니다시간 제한6초메모리 제한128 MB

문제

자동차 랠리를 준비하고 있으며, 경로에 있는 어떤 주유소에서 연료를 넣을지 정해야 합니다.

규칙은 다음과 같습니다.

  • 주유소에서 한 번 주유하는 데 $T$분이 걸립니다 ($1 \le T \le 10^4$).
  • 연료 탱크에는 최대 $F_{\max}$리터까지 담을 수 있습니다 ($10^3 \le F_{\max} \le 10^6$).
  • $1$킬로미터를 달릴 때마다 그 끝에서 연료량 $F$가 즉시 $\Delta_F$리터만큼 줄어듭니다 ($1 \le \Delta_F \le 50$).
  • 자동차의 속도 $S$(분당 킬로미터)는 연료량이 줄수록 커지지만, 연료가 없으면 전혀 움직이지 못합니다. $$S = \begin{cases} S_{\max} - C \cdot F & F > 0 \text{ 일 때} \ 0 & F = 0 \text{ 일 때} \end{cases}$$ 여기서 $10^3 \le S_{\max} \le 10^6$, $1 \le C \le 10^2$이며, 입력은 항상 $F > 0$인 동안 $S > 0$이 되도록 주어집니다(즉 $C \cdot F_{\max} < S_{\max}$). 한 킬로미터를 달리는 동안 연료량은 일정하므로, 그 구간을 지나는 데 $1/S$분이 걸립니다.
  • 랠리의 전체 길이는 $D$킬로미터입니다 ($10^3 \le D \le 10^6$).
  • 주유소는 $N$개 있습니다 ($1 \le N \le 25$).
  • $i$번째 주유소는 출발점에서 $M_i$킬로미터 떨어져 있습니다 ($0 < M_i < D$, 그리고 $i < j$이면 $M_i < M_j$).

자동차는 $0$킬로미터 지점에서 무료로 가득 채워 출발하고 $D$킬로미터 지점에서 완주합니다. 주유소들 중 원하는 부분집합에서 연료를 넣을 수 있으며, 탱크 용량을 넘지 않는 범위에서 원하는 만큼 넣을 수 있습니다. 주유 정차는 한 번마다 $T$분이 듭니다. 전체 시간은 주행 시간($D$킬로미터 전체에 대한 $1/S$의 합)에 실제로 정차한 주유 횟수마다 $T$분을 더한 값입니다.

랠리를 완주하는 데 걸리는 최소 전체 시간을 구하세요.

입력

입력에는 다음 정수들이 각각 한 줄에 하나씩, 이 순서대로 주어집니다: $T$, $F_{\max}$, $\Delta_F$, $S_{\max}$, $C$, $D$, $N$, 그리고 $M_1, M_2, \ldots, M_N$.

출력

최소 전체 시간(분)을 소수점 아래 정확히 여섯 자리까지 반올림하여 한 줄에 출력합니다.