代码:
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
const int N=1e5+5;
ll n,a,pr[N],sum;
bitset<N>p;
void init(){
for(ll i=2;i<=N-5;i++){
if(!p[i])pr[++sum]=i;
for(ll j=1;j<=sum&&i*pr[j]<=N-5;j++){
p[i*pr[j]]=1;
if(!(i%pr[j]))break;
}
}
}
ll phi(int x){
ll s=x;
for(ll i=1;pr[i]*pr[i]<=x;i++)
if(x%pr[i]==0){
s=s/pr[i]*(pr[i]-1);
while(x%pr[i]==0)x/=pr[i];
}
if(x>1)s=s/x*(x-1);
return s;
}
int main(){
init();
cin>>n;
for(ll i=1;i*i<=n;i++)
if(n%i==0){
a+=i*phi(n/i);
if(i*i<n)a+=n/i*phi(i);
}
cout<<a;
return 0;
}