#include <bits/stdc++.h>
using namespace std;
#define int long long
typedef vector<int> vi;
typedef vector<string> vs;
typedef pair<int, int> pi;
#define F first
#define S second
#define pb push_back
#define mp make_pair
#define sz(a) a.size()
#define Print(a) for(int i = 0; i < a.size(); i++) {cout << a[i] << " ";} cout << endl;
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define endl "\n"
#define YES cout << "YES\n";
#define NO cout << "NO\n";
void solve() {
int n; cin >> n;
vector<int> p(n);
for (int i = 0; i < n; ++i) {
cin >> p[i];
}
vector<int> left(n, -1);
vector<int> right(n, n);
stack<int> st;
for (int i = 0; i < n; ++i) {
while (!st.empty() && p[st.top()] <= p[i]) {
st.pop();
}
if (!st.empty()) {
left[i] = st.top();
}
st.push(i);
}
while (!st.empty()) st.pop();
for (int i = n - 1; i >= 0; --i) {
while (!st.empty() && p[st.top()] < p[i]) {
st.pop();
}
if (!st.empty()) {
right[i] = st.top();
}
st.push(i);
}
long long total = 0;
for (int i = 0; i < n; ++i) {
long long count = (long long)(i - left[i]) * (right[i] - i);
total += (long long)p[i] * count;
}
long long num_subarrays = (long long)n * (n + 1) / 2;
double expected_value = (double)total / num_subarrays;
cout << fixed << setprecision(10) << expected_value << endl;
}
int32_t main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
freopen("random.in", "r", stdin);
/*
freopen("wtf.out", "w", stdout);
*/
int t = 1;
//cin >> t;
while (t--) {
solve();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGludCBsb25nIGxvbmcKdHlwZWRlZiB2ZWN0b3I8aW50PiB2aTsKdHlwZWRlZiB2ZWN0b3I8c3RyaW5nPiB2czsKdHlwZWRlZiBwYWlyPGludCwgaW50PiBwaTsKI2RlZmluZSBGIGZpcnN0CiNkZWZpbmUgUyBzZWNvbmQKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBtcCBtYWtlX3BhaXIKI2RlZmluZSBzeihhKSBhLnNpemUoKQojZGVmaW5lIFByaW50KGEpIGZvcihpbnQgaSA9IDA7IGkgPCBhLnNpemUoKTsgaSsrKSB7Y291dCA8PCBhW2ldIDw8ICIgIjt9IGNvdXQgPDwgZW5kbDsKI2RlZmluZSBhbGwoeCkgKHgpLmJlZ2luKCksICh4KS5lbmQoKQojZGVmaW5lIHJhbGwoeCkgKHgpLnJiZWdpbigpLCAoeCkucmVuZCgpCiNkZWZpbmUgZW5kbCAiXG4iCiNkZWZpbmUgWUVTIGNvdXQgPDwgIllFU1xuIjsKI2RlZmluZSBOTyBjb3V0IDw8ICJOT1xuIjsKCnZvaWQgc29sdmUoKSB7CiAgICBpbnQgbjsgY2luID4+IG47CiAgICB2ZWN0b3I8aW50PiBwKG4pOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpIHsKICAgICAgICBjaW4gPj4gcFtpXTsKICAgIH0KCiAgICB2ZWN0b3I8aW50PiBsZWZ0KG4sIC0xKTsKICAgIHZlY3RvcjxpbnQ+IHJpZ2h0KG4sIG4pOwoKICAgIHN0YWNrPGludD4gc3Q7CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpIHsKICAgICAgICB3aGlsZSAoIXN0LmVtcHR5KCkgJiYgcFtzdC50b3AoKV0gPD0gcFtpXSkgewogICAgICAgICAgICBzdC5wb3AoKTsKICAgICAgICB9CiAgICAgICAgaWYgKCFzdC5lbXB0eSgpKSB7CiAgICAgICAgICAgIGxlZnRbaV0gPSBzdC50b3AoKTsKICAgICAgICB9CiAgICAgICAgc3QucHVzaChpKTsKICAgIH0KCiAgICB3aGlsZSAoIXN0LmVtcHR5KCkpIHN0LnBvcCgpOwoKICAgIGZvciAoaW50IGkgPSBuIC0gMTsgaSA+PSAwOyAtLWkpIHsKICAgICAgICB3aGlsZSAoIXN0LmVtcHR5KCkgJiYgcFtzdC50b3AoKV0gPCBwW2ldKSB7CiAgICAgICAgICAgIHN0LnBvcCgpOwogICAgICAgIH0KICAgICAgICBpZiAoIXN0LmVtcHR5KCkpIHsKICAgICAgICAgICAgcmlnaHRbaV0gPSBzdC50b3AoKTsKICAgICAgICB9CiAgICAgICAgc3QucHVzaChpKTsKICAgIH0KCiAgICBsb25nIGxvbmcgdG90YWwgPSAwOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpIHsKICAgICAgICBsb25nIGxvbmcgY291bnQgPSAobG9uZyBsb25nKShpIC0gbGVmdFtpXSkgKiAocmlnaHRbaV0gLSBpKTsKICAgICAgICB0b3RhbCArPSAobG9uZyBsb25nKXBbaV0gKiBjb3VudDsKICAgIH0KCiAgICBsb25nIGxvbmcgbnVtX3N1YmFycmF5cyA9IChsb25nIGxvbmcpbiAqIChuICsgMSkgLyAyOwogICAgZG91YmxlIGV4cGVjdGVkX3ZhbHVlID0gKGRvdWJsZSl0b3RhbCAvIG51bV9zdWJhcnJheXM7CgogICAgY291dCA8PCBmaXhlZCA8PCBzZXRwcmVjaXNpb24oMTApIDw8IGV4cGVjdGVkX3ZhbHVlIDw8IGVuZGw7Cn0KCmludDMyX3QgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZSgwKTsKICAgIGZyZW9wZW4oInJhbmRvbS5pbiIsICJyIiwgc3RkaW4pOwogICAgLyoKICAgIGZyZW9wZW4oInd0Zi5vdXQiLCAidyIsIHN0ZG91dCk7CiAgICAqLwogICAgaW50IHQgPSAxOwogICAgLy9jaW4gPj4gdDsKICAgIHdoaWxlICh0LS0pIHsKICAgICAgICBzb2x2ZSgpOwogICAgfQogICAgcmV0dXJuIDA7Cn0K