Pagini recente » Cod sursa (job #2364157) | Cod sursa (job #1673450) | Cod sursa (job #3130091) | Cod sursa (job #1804779) | Cod sursa (job #1334664)
#include <cstdio>
using namespace std;
int N, X;
int fi[100001];
void ciur() {
int i, j;
for(i = 1; i <= 100000; i++)
fi[i] = i;
for(i = 4; i <= 100000; i += 2)
fi[i] /= 2;
fi[0] = fi[1] = 0;
fi[2]--;
for(i = 3; i <= 100000; i += 2)
if(fi[i] == i) {
fi[i]--;
for(j = 2 * i; j <= 100000; j += i)
fi[j] = (fi[j] / i) * (i - 1);
}
}
int main() {
int i, j;
freopen("sum.in", "r", stdin);
freopen("sum.out", "w", stdout);
ciur();
scanf("%d", &N);
for(i = 1; i <= N; i++) {
scanf("%d", &X);
printf("%lld\n", (long long) 2 * X * fi[X]);
}
return 0;
}