#include <bits/stdc++.h>
using namespace std;
int n, m, a[60];
double C[60][60], f[60][60][60], val, per;
int main() {
  scanf("%d%d", &n, &m);
  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];
  }
  f[0][0][0] = 1;
  for (int i = 1; i <= m; i++) {
    scanf("%d", &a[i]);
    for (int j = 0; j <= n; j++)
      for (int k = 0; k <= j; k++)
        for (int l = 0; l <= n - j; l++)
          f[i][j + l][max((l + a[i] - 1) / a[i], k)] +=
              f[i - 1][j][k] * C[n - j][l];
  }
  for (int i = 0; i <= n; i++) val += i * f[m][n][i], per += f[m][n][i];
  printf("%0.10lf", val / per);
  return 0;
}
