#include <bits/stdc++.h>
using namespace std;
template <typename T>
T gcd(T a, T b) {
  return b ? gcd(b, a % b) : a;
}
template <typename T>
T sqr(T x) {
  return x * x;
}
template <typename T>
T cube(T x) {
  return x * x * x;
}
const int MAXN = 100000 + 7;
long double dp[MAXN];
int main() {
  int n;
  cin >> n;
  vector<long double> p(n);
  for (int i = 0; i < (int)(n); i++) cin >> p[i];
  long double res = 0;
  long double s = 0;
  for (int i = 0; i < (int)(n); i++) {
    if (i) {
      s += p[i - 1];
    }
    s *= p[i];
    s += p[i];
    res += s;
  }
  printf("%.12f\n", res);
  return 0;
}
