#include #define ll long long using namespace std; bool IsPrime(int number){ if(number < 2) return false; if(number == 2) return true; if(number % 2 == 0) return false; for(int i=3; (i*i)<=number; i+=2){ if(number % i == 0 ) return false; } return true; } std::vector v; void fact(ll n){ for (ll i=1; i<=sqrt(n)+1; i++){ if (n%i==0){ if (n/i == i) v.push_back(i); else { v.push_back(i); v.push_back(n/i); } } } sort(v.begin(), v.end()); } ll factor(ll num, int i){ if(num < 2) return num; if(num%v[i] == 0){ return num+factor(num/v[i], i); }else{ i++; return factor(num, i); } } int main(){ int n; cin >> n; ll a[n]; for(int i = 0; i < n; ++i){ cin >> a[i]; } ll ans = 0; for(int i = 0; i < n; ++i){ if(IsPrime(a[i])) ans += (a[i]+1); else { fact(a[i]); ans += factor(a[i], 1); } v.erase(v.begin(), v.end()); } cout << ans; return 0; }