#include <bits/stdc++.h>
using namespace std;
using ll = long long;
ll gcd(ll a, ll b) {
	return (a ? gcd(b % a, a) : b);
}
void fmt(ll& a, ll& b) {
	if (a < 0) {
		a *= -1;
		b *= -1;
	} else if (a == 0 && b < 0) {
		b *= -1;
	}
	return;
}
int main () {
	int N;
	cin >> N;
	vector<pair<ll, ll>> A(N);
	for (auto& [a, b] : A) cin >> a >> b;
	using T = tuple<ll, ll, ll, ll>;
	map<T, ll> mp;
	ll ans = 0;
	for (int i = 0; i < N; i ++) {
		for (int j = i + 1; j < N; j ++) {
			auto [x1, y1] = A[i];
			auto [x2, y2] = A[j];
			ll m1 = x1 + x2, m2 = y1 + y2;
			ll d1 = x1 - x2, d2 = y1 - y2;
			ll g = gcd(abs(d1), abs(d2));
			d1 /= g; d2 /= g;
			fmt(d1, d2);
			ll v1 = -1ll * d2, v2 = d1;
			fmt(v1, v2);
			ans += mp[T{m1, m2, v1, v2}];
			mp[T{m1, m2, d1, d2}] ++;
		}
	}
	cout << ans << endl;
}