#include <bits/stdc++.h>
using namespace std;
int n, m, a[110];
double c[110][110], dp[110][110][110], ans;
int main() {
  scanf("%d%d", &n, &m);
  for (int i = 0; i <= n + m; i++) c[i][0] = 1;
  for (int i = 1; i <= n + m; i++)
    for (int j = 1; j <= i; j++) c[i][j] = c[i - 1][j - 1] + c[i - 1][j];
  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 k = 0; k <= j; k++) {
        int l = max(a[i] * (k - 1) + 1, 0), r = a[i] * k;
        for (int w = 0; w <= k; w++)
          for (int p = l; p <= min(r, j); p++)
            dp[i][j][k] += dp[i - 1][j - p][w] * c[n - j + p][p];
        for (int p = 0; p <= min(l - 1, j); p++)
          dp[i][j][k] += dp[i - 1][j - p][k] * c[n - j + p][p];
      }
  for (int i = 1; i <= n; i++) ans += dp[m][n][i] * i;
  for (int i = 1; i <= n; i++) ans /= m;
  printf("%.10lf", ans);
}
