#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long LL; typedef pair pii; template inline void chkmax(T& x, T y) { if (x < y) x = y; } template inline void chkmin(T& x, T y) { if (y < x) x = y; } int n; int x[25], y[25]; int sqr(int x) { return x * x; } int dist(int i, int j) { return sqr(x[i] - x[j]) + sqr(y[i] - y[j]); } bool can(int i, int j, int k, int l) { int a[6]; a[0] = dist(i, j), a[1] = dist(i, k), a[2] = dist(i, l); a[3] = dist(j, k), a[4] = dist(j, l), a[5] = dist(k, l); sort(a, a + 6); for (i = 0; i < 4; i++) if (a[i] != a[0]) return false; for (i = 4; i < 6; i++) if (a[i] != 2 * a[0]) return false; return true; } int main() { int i, j, k, l; while (scanf("%d", &n) > 0) { for (i = 0; i < n; i++) { scanf("%d%d", x + i, y + i); } int res = 0; for (i = 0; i < n; i++) { for (j = i + 1; j < n; j++) { for (k = j + 1; k < n; k++) { for (l = k + 1; l < n; l++) { if (can(i, j, k, l)) res++; } } } } printf("%d\n", res); } return 0; }