#include #define rep(i, n) for (int i = 0; i < (n); i++) #define repr(i, n) for (int i = (n) - 1; i >= 0; i--) #define rep2(i, l, r) for (int i = (l); i < (r); i++) #define rep2r(i, l, r) for (int i = (r) - 1; i >= (l); i--) #define range(a) a.begin(), a.end() using namespace std; using ll = long long; int main() { cin.tie(nullptr); ios::sync_with_stdio(false); cout << fixed << setprecision(15); int N; cin >> N; vector A(N); rep(i, N) cin >> A[i]; ll ans = 0; rep(i, N) { map dp0; dp0[A[i]] = 1; rep2(j, i + 1, N) { map dp1 = dp0; for (auto kv : dp0) { dp1[__gcd(kv.first, A[j])] += kv.second; } dp0 = dp1; } ans += dp0[1]; } cout << ans << endl; }