Cod sursa(job #97752)
#include <fstream.h>
ifstream fin("sum.in");
ofstream fout("sum.out");
long n,x,sir[200001],sir1[200001];
long cmmdc(long a,long b){
while (b){
long r=a%b;
a=b;
b=r;}
return a;
}
void suma(){
long S=0;
for (long a=1;a<=2*x;a++){
if (sir1[a]==1)
S+=a;
else
if (sir1[a]==0){
if (cmmdc(a,x)==1){
S+=a;
sir1[a+x]=1;}
else
sir1[a+x]=-1; }}
sir[x]=S;
fout<<S<<"\n";
memset(sir1,0,sizeof(sir1));
}
void citire(){
fin>>n;
for (long i=0;i<n;i++){
fin>>x;
if (sir[x]==0)
suma();
else
fout<<sir[x]<<"\n";}
fin.close();
}
int main(){
citire();
fin.close();
fout.close();
return 0;
}