#include <bits/stdc++.h>
using namespace std;
double s[55][55][55] = {};
int main() {
  int n, m;
  cin >> n >> m;
  s[0][0][0] = 1;
  long long C[55][55] = {};
  for (int i = 0; i <= n; i++) C[i][0] = 1;
  for (int i = 1; i <= n; i++) {
    for (int u = 1; u <= n; u++) {
      C[i][u] = C[i - 1][u] + C[i - 1][u - 1];
    }
  }
  for (int i = 1; i <= m; i++) {
    int x;
    cin >> x;
    for (int j = 0; j <= n; j++) {
      for (int k = 0; k <= n; k++) {
        if (s[i - 1][j][k]) {
          for (int use = 0; use <= n - j; use++) {
            double ver = C[n - j][use] * s[i - 1][j][k];
            s[i][j + use][max(k, (use + x - 1) / x)] += ver;
          }
        }
      }
    }
  }
  double sum1 = 0;
  double sum2 = 0;
  for (int i = 1; i <= n; i++) {
    sum1 += i * s[m][n][i];
    sum2 += s[m][n][i];
  }
  cout << fixed << setprecision(10) << sum1 / sum2 << endl;
  return 0;
}
