#include <bits/stdc++.h>
using namespace std;
int n;
double P[1000];
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    scanf("%lf", P + i);
  }
  sort(P, P + n);
  reverse(P, P + n);
  double x1 = 0;
  double x2 = 1;
  double res = 0;
  for (int i = 0; i < n; i++) {
    double s = (1 - P[i]);
    if (s == 0) s = 1;
    if (res == 1) break;
    x1 += P[i] / s;
    x2 *= s;
    res = max(res, x1 * x2);
  }
  printf("%.12lf\n", res);
  return 0;
}
