#include <bits/stdc++.h>
using namespace std;
const int N = 55;
int n, m, a[N];
double C[N][N], dp[N][N][N], ans, T;
void pre() {
  for (int i = 0; i <= 50; i++) C[i][0] = 1;
  for (int i = 1; i <= 50; i++)
    for (int j = 1; j <= 50; j++) C[i][j] = C[i - 1][j - 1] + C[i - 1][j];
}
int main() {
  pre();
  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 <= n; k++) {
        for (int l = 0; l <= n; l++) {
          dp[i][j + l][max((l + a[i] - 1) / a[i], k)] +=
              dp[i - 1][j][k] * C[n - j][l];
        }
      }
    }
  }
  for (int k = 1; k <= n; k++) {
    T += dp[m][n][k];
  }
  for (int k = 1; k <= n; k++) ans += dp[m][n][k] / T * k;
  printf("%.20lf", ans);
}
