#include using namespace std; typedef long long int lli; unordered_map mp; inline lli get_largest_pf(lli xx){ lli maxi=-1; while(xx%2==0){ maxi=2; xx>>=1; } for(int i=3;i<=sqrt(xx);i+=2){ while(xx%i==0){ maxi=i; xx/=i; } } if(xx>2){maxi=xx;} return maxi; } lli hudiyappa(lli xx){ if(xx<2){return 0;} if(mp.find(xx)!=mp.end()){ return mp[xx]; } lli pp=get_largest_pf(xx); lli kurkure=pp+hudiyappa(xx/pp)*pp; mp[xx]=kurkure; return kurkure; } int main(){ int n; cin>>n; lli arr[n]; for(int i=0;i>arr[i];} lli sum=0; for(int i=0;i