#include<bits/stdc++.h> using namespace std; using Int = long long; template<typename T> void chmin(T &a,T b){if(a>b) a=b;} template<typename T> void chmax(T &a,T b){if(a<b) a=b;} signed main(){ Int n; cin>>n; vector<Int> v(n); for(Int i=0;i<n;i++) cin>>v[i]; Int ans=0; map<Int, Int> dp; vector<Int> x; function<Int(Int)> dfs=[&](Int s){ if(dp.count(s)) return dp[s]; dp[s]=1; Int &res=dp[s]; for(Int i=0;i<(Int)x.size();i++){ if(x[i]>=s) break; if(s%x[i]) continue; chmax(res,(s/x[i])*dfs(x[i])+1LL); } //cout<<s<<":"<<res<<endl; return res; }; for(Int i=0;i<n;i++){ x.clear(); for(Int j=1;j*j<=v[i];j++){ if(v[i]%j) continue; x.push_back(j); x.push_back(v[i]/j); } sort(x.begin(),x.end()); x.erase(unique(x.begin(),x.end()),x.end()); ans+=dfs(v[i]); } cout<<ans<<endl; return 0; }