#include <bits/stdc++.h>
using namespace std;
const int P = 1e9 + 7;
int n, m, a[60];
double C[60][60], dp[60][60][60], ans;
void init(int n) {
  for (int i = (0); i <= (n); ++i) {
    C[i][0] = 1;
    for (int j = (1); j <= (i); ++j) C[i][j] = C[i - 1][j] + C[i - 1][j - 1];
  }
}
int main() {
  scanf("%d%d", &n, &m);
  init(n);
  for (int i = (1); i <= (m); ++i) scanf("%d", a + i);
  for (int i = (0); i <= (m); ++i) dp[i][0][0] = 1;
  for (int i = (1); i <= (m); ++i)
    for (int j = (1); j <= (n); ++j)
      for (int l = (0); l <= (j); ++l) {
        for (int k = (0); k <= (l); ++k)
          for (int p = (max(a[i] * (l - 1) + 1, 0)); p <= (min(a[i] * l, j));
               ++p)
            dp[i][j][l] += dp[i - 1][j - p][k] * C[n - j + p][p];
        for (int k = (0); k <= (min(a[i] * (l - 1), j)); ++k)
          dp[i][j][l] += dp[i - 1][j - k][l] * C[n - j + k][k];
      }
  for (int i = (1); i <= (n); ++i) ans += dp[m][n][i] * i;
  printf("%.14lf", ans / pow(m, n));
  return 0;
}
