#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int prime[100000];
bool isprime[100002];
int main(){
memset(prime,0,sizeof(prime));
memset(isprime,1,sizeof(isprime));
int k=0;
for(int i=2;i<100000;++i){
if(isprime[i]){
prime[k++]=i;
if(i<1000)
for(int j=i*i;j<100001;j+=i){
isprime[j]=0;
}
}
}
long long ans,tmp,n;
while(cin>>n){
k=0;ans = 1;
while(n!=1&&prime[k]!=0){
if(n%prime[k]==0){
long long t=1;tmp=1;
n /= prime[k];
while(n%prime[k]==0){
n /= prime[k];
tmp *= prime[k];
++t;
}
ans *= (t*(tmp*prime[k] - tmp) + tmp*prime[k]);
}
++k;
}
if(n!=1) ans *= (2*n-1);
cout<<ans<<endl;
}
return 0;
}