#include <bits/stdc++.h>
using namespace std;
double P[105];
int main() {
  int i, j, k, n;
  double p, c, t;
  vector<double> v;
  cin >> n;
  for (i = 0; i < n; i++) cin >> P[i];
  sort(P, P + n);
  p = P[n - 1];
  for (i = 0; i < n; i++) {
    c = 0;
    for (j = i; j < n; j++) {
      t = 1;
      for (k = i; k < n; k++) {
        if (j != k)
          t *= (1 - P[k]);
        else
          t *= P[k];
      }
      c += t;
    }
    p = max(p, c);
  }
  cout << fixed << setprecision(12) << p;
  return 0;
}
