Pagini recente » Cod sursa (job #2019807) | Cod sursa (job #1939645) | Cod sursa (job #744915) | Cod sursa (job #1667048) | Cod sursa (job #2212798)
#include<fstream>
using namespace std;
ifstream fi("puteri.in");
ofstream fo("puteri.out");
int n,i,j,k,ind,A[100005],B[100005],C[100005],Dp[130][130][130],a,b,c,g,nrd,x,val;
long long rez;
int main()
{
fi>>n;
for(i=1; i<=n; i++)
fi>>A[i]>>B[i]>>C[i];
for(i=2; i<=128; i++)
{
nrd=0;
x=i;
g=1;
for(j=2; j*j<=x; j++)
{
if(x%j==0)
{
nrd++;
x/=j;
if(x%j==0)
{
g=0;
break;
}
}
}
if(x>1)
nrd++;
if(g==0)
continue;
if(nrd%2)
val=1;
else
val=-1;
for(j=0; j<=i; j++)
for(k=0; k<=i; k++)
for(ind=0; ind<=i; ind++)
Dp[j][k][ind]=0;
for(j=1; j<=n; j++)
{
a=(i-(A[j]%i))%i;
b=(i-(B[j]%i))%i;
c=(i-(C[j]%i))%i;
rez=rez+1LL*val*Dp[a][b][c];
Dp[A[j]%i][B[j]%i][C[j]%i]++;
}
}
fo<<rez<<"\n";
fi.close();
fo.close();
return 0;
}