#include using namespace std; vector> c; int n; int main() { int n,x,y; ios::sync_with_stdio(false); float prob; while(scanf("%d", &n) == 1) { prob = 0; c.clear(); c.reserve(n); for(int i = 0; i < n; i++) { vector p(2); scanf("%d %d",&x,&y); p[0] = x - y; p[1] = y + x; c.emplace_back(p); } float count = 0; for(int kk = 0; kk < 2; kk++) { sort(c.begin(),c.end(), [kk](vector &a, vector &b) { return a[kk] < b[kk]; }); int xv = c[0][kk]; float tcount = 0; for(auto &cc : c) { if(cc[kk] == xv) tcount++; else { xv = cc[kk]; count += tcount*(tcount-1)/2; tcount = 1; } } count += tcount*(tcount-1)/2; } prob = (float)2*count / (float)(n*n); cout << prob << endl; } return 0; }