Cod sursa(job #462393)
# include <cstdio>
const char FIN[] = "sum.in", FOU[] = "sum.out";
const int MAX = 100005;
int V[MAX];
int T, X;
void ciur ()
{
for ( int i = 1; i <= MAX; ++i )
V[i] = i;
for ( int i = 2; i <= MAX; ++i )
if ( V[i] == i )
for ( int j = i; j <= MAX; j += i )
V[j] /= i, V[j] *= (i - 1) ;
}
int main()
{
freopen ( FIN, "r", stdin );
freopen ( FOU, "w", stdout );
ciur () ;
for ( scanf ("%d", &T); T ; --T )
{
scanf ("%d", &X);
printf("%lld\n" , ( long long ) V[X] * X << 1);
}
return 0;
}