Cod sursa(job #720102)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("puteri.in");
ofstream fout("puteri.out");
#define dim 100005
struct lista
{
int x, y, z;
}v[dim];
inline int euclid(int a, int b)
{
if(b==0)
return a;
else
return euclid(b,a%b);
}
int main()
{
int n, i, j;
fin>>n;
for(i=1;i<=n;++i)
fin>>v[i].x >>v[i].y >>v[i].z;
int sol=0;
for(i=1;i<=n;++i)
for(j=i+1;j<=n;++j)
{
int a=v[i].x+v[j].x;
int b=v[i].y+v[j].y;
int c=v[i].z+v[j].z;
int d=euclid(a,b);
if(d==1)
continue;
else
if(c%d==0)
++sol;
}
fout<<sol;
return 0;
}