#include <iostream>
using namespace std;
#include<vector>
#include<cmath>
//分解为质因数   质因数的和就是最小成本
bool Iszhishu(int a){
    if(a<=1){
        return 0;
    }
    else{
        for(int i=2;i<=sqrt(a);i++){
            if(a%i==0){
                return 0;
            }
        }
    }
    return 1;
}

int main() {
    int N;
    cin>>N;
    vector<int>v_zhiyinshu;
    while(N!=1){
         for(int i=1;i<=N;i++){
            if(N%i==0&&Iszhishu(i)){
                 v_zhiyinshu.push_back(i);
                 N=N/i;
                 
            }
         } 
    }
    int sumpay=0;
    for(int i=0;i<v_zhiyinshu.size();i++){
       sumpay+=v_zhiyinshu[i];
    }
    cout<<sumpay;
   
    
}
// 64 位输出请用 printf("%lld")