#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 10;
vector<int> a[N];
long long ans, n, v;
int main() {
  scanf("%lld", &n);
  for (int i = 1; i <= n; ++i) {
    scanf("%lld", &v);
    if (!a[v].size()) a[v].push_back(0);
    a[v].push_back(i);
  }
  for (int i = 1; i < N; ++i) {
    if (!a[i].size()) continue;
    a[i].push_back(n + 1);
    int sz = (int)(a[i].size());
    long long now = n * n;
    for (int j = 1; j < sz; ++j) {
      int w = a[i][j] - a[i][j - 1] - 1;
      now -= 1ll * w * w;
    }
    ans += now;
  }
  printf("%.6lf\n", ans / (1.0 * n * n));
  return 0;
}
