#include using namespace std; typedef long long int Long; #define all(c) c.begin(),c.end() int n; Long x, ans = 0; vector divs; map dp; Long solve(Long x) { if(x == 1) return 1; if(dp[x]) return dp[x]; Long &ans = dp[x]; for(Long div : divs) { if(div >= x) break; if(x % div == 0) { ans = max(ans, (x / div) * solve(div) + 1); } } return ans; } int main() { scanf("%d", &n); while(n--) { scanf("%lld", &x); divs.clear(); for(Long i = 1; i * i <= x; ++i) { if(x % i == 0) { divs.push_back(i); if(i * i != x) divs.push_back(x / i); } } sort(all(divs)); ans += solve(x); } printf("%lld\n", ans); return 0; }