#include <bits/stdc++.h>
using namespace std;
template <class T1>
void deb(T1 e1) {
  cout << e1 << endl;
}
template <class T1, class T2>
void deb(T1 e1, T2 e2) {
  cout << e1 << " " << e2 << endl;
}
template <class T1, class T2, class T3>
void deb(T1 e1, T2 e2, T3 e3) {
  cout << e1 << " " << e2 << " " << e3 << endl;
}
template <class T1, class T2, class T3, class T4>
void deb(T1 e1, T2 e2, T3 e3, T4 e4) {
  cout << e1 << " " << e2 << " " << e3 << " " << e4 << endl;
}
template <class T1, class T2, class T3, class T4, class T5>
void deb(T1 e1, T2 e2, T3 e3, T4 e4, T5 e5) {
  cout << e1 << " " << e2 << " " << e3 << " " << e4 << " " << e5 << endl;
}
template <class T1, class T2, class T3, class T4, class T5, class T6>
void deb(T1 e1, T2 e2, T3 e3, T4 e4, T5 e5, T6 e6) {
  cout << e1 << " " << e2 << " " << e3 << " " << e4 << " " << e5 << " " << e6
       << endl;
}
int main() {
  long long int arr[2000 + 7], sum[5000 + 7], diff[5000 + 7], cnt, hor, tmp, n,
      i, j, k;
  double res;
  while (scanf("%lld", &n) == 1) {
    for (i = 0; i < n; i++) {
      scanf("%lld", &arr[i]);
    }
    memset((diff), 0, sizeof(diff));
    for (i = 0; i < n; i++) {
      for (j = i + 1; j < n; j++) {
        tmp = abs(arr[i] - arr[j]);
        diff[tmp]++;
      }
    }
    sum[5000] = cnt = 0;
    for (i = 5000 - 1; i > 0; i--) {
      sum[i] = sum[i + 1] + diff[i + 1];
    }
    for (i = 1; i < 5000; i++) {
      for (j = 1; j < 5000; j++) {
        tmp = diff[i] * diff[j];
        if (i + j <= 5000) {
          tmp *= sum[i + j];
        } else {
          tmp = 0;
        }
        cnt += tmp;
      }
    }
    hor = n * n - n;
    hor /= 2;
    hor = hor * hor * hor;
    res = (double)cnt / hor;
    printf("%.6lf\n", res);
  }
  return 0;
}
