#include <bits/stdc++.h>
using namespace std;
ifstream in("trapez.in");
ofstream out("trapez.out");
int n;
int xc[1005];
int yc[1005];
vector<pair<long long,long long> > v;
bool compare(pair<long long,long long> A,pair<long long,long long> B)
{
return ((A.first*B.second) < (A.second*B.first));
}
bool p_equal(pair<long long,long long> A,pair<long long,long long> B)
{
return ((A.first*B.second) == (A.second*B.first));
}
int main()
{
in>>n;
for(int i=1;i<=n;i++)
in>>xc[i]>>yc[i];
in.close();
int nr,nm;
for(int i=1;i<n;i++)
for(int j=i+1;j<=n;j++)
{
nr = yc[i]-yc[j];
nm = xc[i]-xc[j];
if(nr<0)
{
nr=-nr;
nm=-nm;
}
pair<long long,long long> p = make_pair(nr,nm);
v.push_back(p);
}
sort(v.begin(),v.end(),compare);
int sol = 0;
int c = 1;
for(unsigned int i = 0;i<v.size();i++)
{
unsigned int j = i+1;
c = 1;
while(j<v.size() && p_equal(v[i],v[j]))
{
c++;
j++;
}
sol += (c*(c-1))/2;
i = j-1;
}
out<<sol<<'\n';
out.close();
return 0;
}