#include #define ll long long #define pb push_back using namespace std; unordered_mapdp; vectorv; ll solve(ll n,ll x) { if(n==1) return 1; if(dp[n]) return dp[n]; ll i; for(i=x;i>=0;i--) { if(n%v[i]==0) return 1+v[i]*solve(n/v[i],i); } return n+1; } int main() { ll n,i,x,ans=0,j,temp; cin>>n; for(j=0;j>x; temp=x; for (i = 2; i*i<=x; i++) { if(x%i==0) { v.pb(i); while (x%i == 0) { x = x/i; } } } if(x>=2) v.pb(x); ans+=solve(temp,v.size()-1); } cout<