#include <bits/stdc++.h>
using namespace std;
void init() {}
void solve() {
  int n, m;
  cin >> n >> m;
  vector<int> a(m);
  for (int _n(m), i(0); i < _n; i++) cin >> a[i];
  double d[51][51][51];
  memset(d, 0, sizeof(d));
  long long c[51][51];
  memset(c, 0, sizeof(c));
  c[0][0] = 1;
  for (int _n(n + 1), i(1); i < _n; i++) {
    c[i][0] = 1;
    for (int _n(i + 1), j(1); j < _n; j++)
      c[i][j] = c[i - 1][j - 1] + c[i - 1][j];
  }
  double p[51];
  p[0] = 1;
  for (int _n(n + 1), i(1); i < _n; i++) p[i] = p[i - 1] / m;
  d[0][0][0] = 1;
  for (int _n(m), i(0); i < _n; i++) {
    for (int _n(n + 1), j(0); j < _n; j++) {
      for (int _n(n + 1), k(0); k < _n; k++) {
        for (int t = 0; t + j <= n; ++t) {
          int q = max(k, (t + a[i] - 1) / a[i]);
          d[i + 1][j + t][q] += d[i][j][k] * c[j + t][t] * p[t];
        }
      }
    }
  }
  double res = 0;
  for (int _n(n + 1), k(0); k < _n; k++) res += d[m][n][k] * k;
  printf("%.20lf\n", res);
}
int main() {
  init();
  solve();
  return 0;
}
