#include #include #include #include using namespace std; int fce(const void *x, const void *y) { return *(long long int*)x < *(long long int*)y; } int main(){ int n; while(scanf("%d", &n)+1){ long long int p1[n]; long long int p2[n]; for(int i = 0; i < n; i++){ int a, b; scanf("%d %d", &a, &b); p1[i] = b - a; p2[i] = a + b; } qsort(p1, n, sizeof(long long int), fce); qsort(p2, n, sizeof(long long int), fce); long long int count = 0; long long int tmp = 1; for(int i = 1; i < n; i++){ if(p1[i-1] == p1[i]){ tmp++; } else { count += tmp*(tmp-1); tmp = 1; } } count += tmp*(tmp-1); tmp = 1; for(int i = 1; i < n; i++){ if(p2[i-1] == p2[i]){ tmp++; } else { count += tmp*(tmp-1); tmp = 1; } } count += tmp*(tmp-1); printf("%lf\n", (double)count/(double)(n*n)); } return 0; }