#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define mx 31700
bitset<mx>bt;
ll prime[mx];
int e=-1;
void sieve()
{
bt[0]=bt[1]=1;
prime[++e]=2;
for(int i=4;i<mx;i++)bt[i]=1;
for(int i=3;i*i<=mx;i+=2){
if(!bt[i]){
prime[++e]=i;
for(int j=i*i;j<mx;j+=i)bt[j]=1;
}
}
for(int i=179;i<mx;i+=2){
if(!bt[i])prime[++e]=i;
}
}
ll F(ll n)
{
ll r=0;
int i=0;
while(i<=e && prime[i]*prime[i]<=n){
while(n%prime[i]==0){
n/=prime[i];
r+=(prime[i]-1);
}
i++;
}
if(n>1)r+=(n-1);
return r;
}
int main()
{
sieve();
ll n;
while(scanf("%lld",&n) && n){
printf("%lld\n",F(n));
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBteCAzMTcwMApiaXRzZXQ8bXg+YnQ7CmxsIHByaW1lW214XTsKaW50IGU9LTE7CnZvaWQgc2lldmUoKQogICAgewogICAgICAgIGJ0WzBdPWJ0WzFdPTE7CiAgICAgICAgcHJpbWVbKytlXT0yOwogICAgICAgIGZvcihpbnQgaT00O2k8bXg7aSsrKWJ0W2ldPTE7CiAgICAgICAgZm9yKGludCBpPTM7aSppPD1teDtpKz0yKXsKICAgICAgICAgICAgaWYoIWJ0W2ldKXsKICAgICAgICAgICAgICAgIHByaW1lWysrZV09aTsKICAgICAgICAgICAgICAgIGZvcihpbnQgaj1pKmk7ajxteDtqKz1pKWJ0W2pdPTE7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZm9yKGludCBpPTE3OTtpPG14O2krPTIpewogICAgICAgICAgICBpZighYnRbaV0pcHJpbWVbKytlXT1pOwogICAgICAgIH0KICAgIH0KbGwgRihsbCBuKQogICAgewogICAgICAgIGxsIHI9MDsKICAgICAgICBpbnQgaT0wOwogICAgICAgIHdoaWxlKGk8PWUgJiYgcHJpbWVbaV0qcHJpbWVbaV08PW4pewogICAgICAgICAgICB3aGlsZShuJXByaW1lW2ldPT0wKXsKICAgICAgICAgICAgICAgIG4vPXByaW1lW2ldOwogICAgICAgICAgICAgICAgcis9KHByaW1lW2ldLTEpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGkrKzsKICAgICAgICB9CiAgICAgICAgaWYobj4xKXIrPShuLTEpOwogICAgICAgIHJldHVybiByOwogICAgfQppbnQgbWFpbigpCiAgICB7CiAgICAgICAgc2lldmUoKTsKICAgICAgICBsbCBuOwogICAgICAgIHdoaWxlKHNjYW5mKCIlbGxkIiwmbikgJiYgbil7CiAgICAgICAgICAgIHByaW50ZigiJWxsZFxuIixGKG4pKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIDA7CiAgICB9Cg==