#include <iostream>
#include <cmath>
using namespace std;

bool paralelne (double x1,double y1,double x2,double y2,double x3,double y3,double x4,double y4)
{
	if((abs(y1-y2)/abs(x1-x2))==(abs(y3-y4)/abs(x3-x4))) return true;
	else return false;
}

double odnos(double x1,double y1,double x2,double y2,double x3,double y3,double x4,double y4)
{
	double duzina1=(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);
	double duzina2=(x3-x4)*(x3-x4)+(y3-y4)*(y3-y4);
	return duzina1/duzina2;
}



int main()
{	
	int brojac=0;
	int n;
	cin >>n;
	double nizx[n],nizy[n];
	for(int i =0;i<n;i++)
	{
		cin>>nizx[i]>>nizy[i];
	}
	for(int i=0;i<n;i++)
	{
		for(int j=i+1; j<n;j++)
		{
			
			for(int k=j+1; k<n; k++)
			{
				
				for(int l=k+1;l<n;l++)
				{
					
					if(paralelne(nizx[i],nizy[i],nizx[j],nizy[j],nizx[k],nizy[k],nizx[l],nizy[l]))
					{
						if(odnos(nizx[i],nizy[i],nizx[j],nizy[j],nizx[k],nizy[k],nizx[l],nizy[l])==4)
						brojac++;
						else if(odnos(nizx[i],nizy[i],nizx[j],nizy[j],nizx[k],nizy[k],nizx[l],nizy[l])==0.25)
						brojac++;
					}
					else if(paralelne(nizx[i],nizy[i],nizx[k],nizy[k],nizx[j],nizy[j],nizx[l],nizy[l]))
					{
						if(odnos(nizx[i],nizy[i],nizx[k],nizy[k],nizx[j],nizy[j],nizx[l],nizy[l])==4)
						brojac++;
						else if(odnos(nizx[i],nizy[i],nizx[k],nizy[k],nizx[j],nizy[j],nizx[l],nizy[l])==0.25)
						brojac++;
					}
					else if(paralelne(nizx[i],nizy[i],nizx[l],nizy[l],nizx[k],nizy[k],nizx[j],nizy[j]))
					{
						if(odnos(nizx[i],nizy[i],nizx[l],nizy[l],nizx[k],nizy[k],nizx[j],nizy[j])==4)
						brojac++;
						else if(odnos(nizx[i],nizy[i],nizx[l],nizy[l],nizx[k],nizy[k],nizx[j],nizy[j])==0.25)
						brojac++;
					}
				 
				}
			}
		}
		
	}
	cout<<brojac;
}