#include <cstdio>

double dp[3000];
int N;

int main(){
  dp[0]=1;
  scanf("%d",&N);
  for(int i=0;i<N;i++){
    double P;
    scanf("%lf",&P);
    for(int j=i;j>=0;j--){
      dp[j+1]+=dp[j]*P;
      dp[j]*=(1-P);
    }
  }
  double ans=0;
  for(int i=N/2+1;i<=N;i++){
    ans+=dp[i];
  }
  printf("%.10lf\n",ans);
  return 0;
}
