#include <bits/stdc++.h>
using namespace std;
const int N = 55;
int n, m;
int a[N], b[N];
double fac[N];
inline double C(int a, int b) { return fac[a] / fac[b] / fac[a - b]; }
void Init() {
  fac[0] = 1;
  for (int i = 1; i <= n; ++i) fac[i] = fac[i - 1] * i;
  return;
}
double f[N][N], p[N];
int main() {
  scanf("%d%d", &n, &m);
  for (int i = 1; i <= m; ++i) scanf("%d", &a[i]);
  Init();
  for (int i = 1; i <= n; ++i) {
    for (int j = 1; j <= m; ++j) b[j] = min(a[j] * i, n);
    memset(f, 0, sizeof(f));
    f[0][0] = 1;
    for (int j = 0; j < m; ++j)
      for (int k = 0; k <= n; ++k)
        for (int l = 0; l <= n - k && l <= b[j + 1]; ++l)
          f[j + 1][k + l] += f[j][k] * C(n - k, l);
    p[i] = f[m][n] / pow(m, n);
  }
  double res = 0;
  for (int i = 1; i <= n; ++i) res += (p[i] - p[i - 1]) * i;
  printf("%.20f\n", res);
  return 0;
}
