#include <bits/stdc++.h>
using namespace std;
const int N = 55;
int n, m, a[N];
double dp[N][N][N], C[N][N];
int main() {
  C[0][0] = 1;
  for (int i = 1; i <= 50; ++i) {
    C[i][0] = 1;
    for (int j = 1; j <= 50; ++j) {
      C[i][j] = C[i - 1][j - 1] + C[i - 1][j];
    }
  }
  scanf("%d %d", &n, &m);
  for (int i = 1; i <= m; ++i) scanf("%d", &a[i]);
  dp[0][0][0] = 1;
  for (int i = 1; i <= m; ++i) {
    for (int j = 0; j <= n; ++j) {
      for (int k = 0; k <= j; ++k) {
        for (int l = 0; l <= (n - j); ++l) {
          dp[i][j + l][max((l + a[i] - 1) / a[i], k)] +=
              dp[i - 1][j][k] * C[n - j][l];
        }
      }
    }
  }
  double tot = 0;
  double ans = 0;
  for (int i = 0; i <= n; ++i) tot += dp[m][n][i];
  for (int i = 0; i <= n; ++i) ans += 1.0 * i * dp[m][n][i] / tot;
  printf("%.20lf\n", ans);
  return 0;
}
