#include <bits/stdc++.h>
using namespace std;
double c[110];
int main() {
  int n, i;
  double x, y, tx, ty;
  scanf("%d", &n);
  for (i = 0; i < n; i++) scanf("%lf", &c[i]);
  sort(c, c + n);
  if (c[n - 1] > 0.5)
    printf("%.10f\n", c[n - 1]);
  else {
    x = 0;
    y = 1;
    for (i = n - 1; i >= 0; i--) {
      tx = x * (1 - c[i]) + y * c[i];
      ty = y * (1 - c[i]);
      if (x > tx) break;
      x = tx;
      y = ty;
    }
    printf("%.10f\n", x);
  }
  return 0;
}
