#include <bits/stdc++.h>
using namespace std;
const double PI = acos(-1.0);
const double EPS = 1e-12;
inline int read() {
  static char ch;
  bool sgn = false;
  while (ch = getchar(), ch < '0' || ch > '9')
    if (ch == '-') sgn = true;
  int res = ch - 48;
  while (ch = getchar(), ch >= '0' && ch <= '9') res = res * 10 + ch - 48;
  return sgn ? -res : res;
}
int n, a[5001], b[4000005], s[5001];
int main() {
  n = read();
  for (int i = 1; i <= n; i++) a[i] = read();
  sort(a + 1, a + 1 + n);
  for (int i = 2; i <= n; i++)
    for (int j = 1; j < i; j++) b[++b[0]] = a[i] - a[j];
  sort(b + 1, b + n * (n - 1) / 2 + 1);
  int M = b[n * (n - 1) / 2], t = n * (n - 1) / 2;
  for (int i = 1; i <= t; i++) s[b[i]]++;
  for (int i = 1; i <= 5000; i++) s[i] += s[i - 1];
  long double ans = 0;
  for (int i = 2; i <= M; i++) {
    if (s[i] - s[i - 1] > 0) {
      long long t3 = s[i] - s[i - 1];
      for (int j = 1; j < i; j++) {
        if (s[j] - s[j - 1] <= 0) continue;
        long long t1 = s[j] - s[j - 1];
        long long t2 = s[i - j - 1];
        if (t1 > 0 && t2 > 0) ans += t1 * t2 * t3;
      }
    }
  }
  long double m = (long double)n * n * n * (n - 1) * (n - 1) * (n - 1) / 8;
  ans /= m;
  printf("%.10f", (double)ans);
}
