#include <bits/stdc++.h>
using namespace std;
#define mp(a,b) make_pair(a,b)
#define ff first
#define setp setprecision(12)<<fixed
#define ss second
#define fori(v) for(int i=0; i<v; i++)
#define forj(v) for(int j=0; j<v; j++)
#define fork(v) for(int k=0; k<v; k++)
#define forl(v) for(int l=0; l<v; l++)
#define fort(v) for(int t=0; t<v; t++)
#define forz(v) for(int z=0; z<v; z++)
#define lli long long int
#define double long double
#define MAX 100010
#define ch 560
#define sz 30
int inf = pow(10,9);
lli modulo = inf+7;
double eps = 1e-10;
ifstream in;
ofstream out;
int dx[6] = {-2,-2,0,2,2,0};
int dy[6] = {-1,1,2,1,-1,-2};
int main(){
	int n;
	cin>>n;
	lli sum = 0;
	lli all[MAX];
	map<lli,lli> save;
	fori(n){
		lli ed;
		cin>>ed;
		lli kok = sqrt(ed);
		int count = 0;
		for(lli j=1; j<=kok; j++)
			if(!(ed%j)){
				all[count] = j, ++count;
				if(j!=ed/j)
					all[count] = ed/j , ++count;
			}
		sort(all,all+count);
		lli DP[count];
		DP[0] = 1;
		for(int i=1; i<count;  i++){
			DP[i] = 1;
			lli see = save[all[i]];
			if(see!=0){
				DP[i] = see;
				continue; 
			}
			forj(i)
				if(!(all[i]%all[j])){
					lli vl = all[i]/all[j] * DP[j] + 1 ;
					if(vl > DP[i])
						DP[i] = vl;
				}
			save[all[i]] = DP[i];
		}
		sum+=DP[count-1];
	}
	cout<<sum;
}