#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;
}