#include <stdio.h>
#define fin "puteri.in"
#define fout "puteri.out"
#define FOR(i,a,b) for(i=(a);i<=(b);++i)
#define VEC(a) a[100001]
char v[65][65][65], x[65][65][65], VEC(a), VEC(b), VEC(c), cmmdc[65][65];
int CMMDC(int x,int y)
{
if(y == 0)
return x;
else
return CMMDC(y,x%y);
}
int good(int A,int B, int C)
{
if(A == 0) { if(B == 0) A= B= C; else A= B*C; }
if(B == 0) { if(C == 0) B= C= A; else B= A*C; }
if(cmmdc[cmmdc[A][B]][C] != 1)
return 1;
else
return 0;
}
int main()
{
freopen(fin,"r",stdin);
freopen(fout,"w",stdout);
int i,j,k,n, S=0, A,B,C, CM;
scanf("%i", &n);
FOR(i,1,n)
scanf("%i%i%i", &a[i], &b[i], &c[i]);
//preproc
FOR(i,0,64)
FOR(j,i,64)
cmmdc[i][j]= cmmdc[j][i]= CMMDC(i,j);
FOR(i,0,64)
FOR(j,0,64)
FOR(k,0,64)
v[i][j][k] = good(i,j,k);
S=0;
FOR(i,1,n)
FOR(j,i+1,n)
S+=v[a[i]+a[j]][b[i]+b[j]][c[i]+c[j]];
printf("%i\n", S);
return 0;
}