#include <cstdio>
#include <map>
#include <algorithm>
using namespace std;
int n;
pair<int, int> p[1005];
pair<int, int>m;
map<pair<int, int>, int> fr;
int cmmdc(int x, int y)
{
x=abs(x);
y=abs(y);
while(y)
{
int r=x%y;
x=y;
y=r;
}
return x;
}
int combin(int n)
{
return n*(n-1)/2;
}
int main()
{
freopen("trapez.in", "r", stdin);
freopen("trapez.out", "w", stdout);
scanf("%d", &n);
for(int i=1; i<=n; i++)
{
scanf("%d %d", &p[i].first, &p[i].second);
}
for(int i=1; i<n; i++)
{
for(int j=i+1; j<=n; j++)
{
m.first=p[j].second-p[i].second;
m.second=p[j].first-p[i].first;
int divCom=abs(cmmdc(m.first, m.second));
if(m.first<0 && m.second<0)
{
m.first*=(-1);
m.second*=(-1);
}
else
{
if(m.second<0)
{
m.second*=(-1);
m.first*=(-1);
}
}
m.first/=divCom;
m.second/=divCom;
// printf("%d %d\n", m.first, m.second);
fr[{m.first, m.second}]++;
}
}
int sum=0;
for(auto i:fr)
{
sum+=combin(i.second);
}
printf("%d", sum);
return 0;
}