Pagini recente » Cod sursa (job #1732471) | Cod sursa (job #374168) | Cod sursa (job #2449466) | Cod sursa (job #634576) | Cod sursa (job #1882379)
#include <iostream>
#include <cstdio>
using namespace std;
int v[1000001];
int prime[1000001];
int main()
{
int n ,m = 0;
freopen("sum.in","r",stdin);
freopen("sum.out","w",stdout);
scanf("%d",&n);
for(int i = 0 ; i < n;i++){
scanf("%d",&v[i]);
m = max(v[i], m);
}
for(int i = 1 ;i <= m ;i++)
prime[i] = i;
for(int i = 2;i <= m ;i++){
if(prime[i] == i ){
for(int j = i ;j <= m ;j += i){
prime[j] /= i;
prime[j] *= (i-1);
}
}
}
for(int i = 0 ; i < n;i++){
printf("%lld\n",prime[v[i]] * v[i] * 2LL);
}
return 0;
}