#include using namespace std; long long dp[100000]; long long a[110]; int main() { ios_base::sync_with_stdio(false); cin.tie(0); int tt; cin >> tt; long long ans = 0; vector dvs; for (int i = 1; i <= tt; ++i) { cin >> a[i]; long long x = a[i]; for (int i = 1; 1LL * i * i <= x; ++i) if (x % i == 0) { dvs.push_back(i); if (x / i != i) dvs.push_back(x / i); } } sort(dvs.begin(), dvs.end()); dvs.erase(unique(dvs.begin(), dvs.end()), dvs.end()); dp[0] = 1; for (int i = 1; i < dvs.size(); ++i) { dp[i] = 0; for (int j = 0; j < i; ++j) if (dvs[i] % dvs[j] == 0) { dp[i] = max(dp[i], 1LL * dp[j] * (dvs[i] / dvs[j]) + 1); } } for (int i = 1; i <= tt; ++i) { int pos = lower_bound(dvs.begin(), dvs.end(), a[i]) - dvs.begin(); ans += dp[pos]; } cout << ans << endl; }