Cod sursa(job #447770)
#include <cstdio>
#include <iostream>
using namespace std;
long long m,n=100000,d=-1,phi[1000001],l,k;
/*inline void euler() {
int rezultat=0,i,j;
for (l = 1; l <= n; ++l)
phi[l] = l-1;
for (l = 2; l <= n; ++l) {
for (k = 2*l; k <= n; k += l)
phi[k] -= phi[l];
}
}*/
int main()
{
int i,x;
FILE *f=fopen("sum.in","r");
FILE *g=fopen("sum.out","w");
fscanf(f,"%lld",&m);
for (l = 1; l <= n; ++l)
phi[l] = l-1;
for (l = 2; l <= n; ++l) {
for (k = 2*l; k <= n; k += l)
phi[k] -= phi[l];
}
for(i=0; i<m; i++) {
fscanf(f,"%d",&x);
fprintf(g,"%lld\n",2*phi[x]*x);
}
fclose(f);
fclose(g);
return 0;
}