#include #include #include #include #include #include #include #include #include #define DEBUG #ifdef DEBUG #define DBG if (1) #else #define DBG if (0) #endif #define PA(arr, n) DBG for (int i = 0; i < n; i++) printf("%d%c", arr[i], "\n "[i < n - 1]) #define PD(n) DBG printf("%d\n", n); #define PDBL(n) DBG printf("%lf\n", n); using namespace std; struct coor { int x; int y; }; int main () { int n; while(scanf("%d", &n) == 1){ vector arr(n); //vector count(n,0); int count=0; for (int i = 0; i < n; i++) { scanf("%d", &arr[i].x); scanf("%d", &arr[i].y); } for(int i = 0; i < n; i++) { for(int j = i+1; j < n; j++) { int x = arr[j].x -arr[i].x; int y = arr[j].y -arr[i].y; if(abs(x) == abs(y)) count++; } } double prob = (double)(count*2)/(double)(n*n); printf("%lf\n", prob); //PA(arr, n); } return 0; }