#include <iostream>
using namespace std;
//核心在于将 N 分解为若干个大于等于 2 的整数的乘积,使得这些整数的和(即总成本)最小。通过数学分析可知,将 N 分解为质因数的乘积时,总成本最小。这是因为质因数是不可再分的最小因数,进一步分解会导致成本增加。
bool judge(int x)
{
if(x<=1) return false;
if(x==2) return true;
if(x%2==0) return false;
for(int i=3;i*i<=x;i+=2)
{
if(x%i==0) return false;
}
return true;
}
int main() {
int n,sum=0;
cin>>n;
for(int i=2;i<=n;i++)
{
if(judge(i))
{
while(n%i==0)
{
n/=i;
sum+=i;
}
}
else continue;
}
cout<<sum<<endl;
}
// 64 位输出请用 printf("%lld")



京公网安备 11010502036488号