#include <bits/stdc++.h>
using namespace std;
int n, m;
long long C[52][52];
double dp[52][52][52];
int a[52];
double power[52];
int main() {
  cin >> n >> m;
  for (int i = 1; i <= m; i++) cin >> a[i];
  C[0][0] = 1;
  for (int i = 1; i <= 50; i++) {
    C[i][0] = 1;
    for (int j = 1; j <= 50; j++) {
      C[i][j] = C[i - 1][j] + C[i - 1][j - 1];
    }
  }
  power[0] = 1;
  for (int i = 1; i <= 50; i++) power[i] = power[i - 1] * 1.0 / m;
  for (int i = 0; i <= 50; i++) dp[0][0][i] = i;
  for (int room = 1; room <= m; room++) {
    for (int student = 0; student <= n; student++) {
      for (int mx = 0; mx <= n; mx++) {
        for (int i = 0; i <= student; i++) {
          int len = (i / a[room]);
          if (i % a[room]) len++;
          dp[room][student][mx] +=
              C[student][i] * dp[room - 1][student - i][max(len, mx)];
        }
      }
    }
  }
  cout.precision(12);
  cout << dp[m][n][1] * power[n] << "\n";
  return 0;
}
