#include <bits/stdc++.h>
using namespace std;
const int N = 11000;
double p[N], e[N], dp[N];
int main() {
  int n;
  scanf("%d", &n);
  double c;
  scanf("%lf", &c);
  c /= 1e6;
  for (int i = 0; i <= n; i++) {
    int x;
    scanf("%d", &x);
    if (x == 0)
      p[i] = 1;
    else
      p[i] = x * 1e20;
  }
  for (int i = 0; i <= n; i++)
    p[i] = p[i + 1] * (i + 1) / p[i] / (n - i), e[i] = i, dp[i] = i - n * c;
  for (int i = n - 1; i >= 0; i--) {
    for (int j = 0; j <= i; j++) {
      double prob = ((e[j] + e[j + 1] * p[j]) / (1 + p[j]) - j) / (n - i);
      dp[j] = max(j - i * c, dp[j] * (1 - prob) + dp[j + 1] * prob);
    }
    for (int j = 0; j <= i; j++) {
      e[j] = (e[j] + e[j + 1] * p[j]) / (1 + p[j]);
      p[j] *= (1 + p[j + 1]) / (1 + p[j]);
    }
  }
  printf("%.15f\n", (double)dp[0]);
  return 0;
}
