#include <bits/stdc++.h>
using namespace std;
long long c[60][60];
double dp[60][60][60], prob[60];
int a[60];
void input() {
  int n, nr, i, j;
  int was, curmax, now;
  scanf("%d %d", &n, &nr);
  for ((i) = 0; (i) < (nr); (i)++) scanf("%d", &a[i]);
  c[0][0] = 1;
  for ((i) = (1); (i) <= (n); (i)++) {
    c[i][0] = 1;
    for ((j) = (1); (j) <= (i); (j)++) c[i][j] = c[i - 1][j - 1] + c[i - 1][j];
  }
  prob[0] = 1.0;
  for ((i) = (1); (i) <= (n); (i)++) prob[i] = prob[i - 1] / nr;
  dp[0][0][0] = 1.0;
  for ((i) = 0; (i) < (nr); (i)++)
    for ((was) = (0); (was) <= (n); (was)++)
      for ((curmax) = (0); (curmax) <= (n); (curmax)++)
        for (now = 0; was + now <= n; now++) {
          int newmax = ((curmax) > (now / a[i] + (now % a[i] ? 1 : 0))
                            ? (curmax)
                            : (now / a[i] + (now % a[i] ? 1 : 0)));
          dp[i + 1][was + now][newmax] +=
              dp[i][was][curmax] * c[n - was][now] * prob[now];
        }
  double res = 0.0;
  for ((curmax) = (0); (curmax) <= (n); (curmax)++)
    res += dp[nr][n][curmax] * (double)curmax;
  printf("%.15lf", res);
}
int main() {
  input();
  return 0;
}
