// Ragnar // n (lg A)^2 solution #include #include #include using namespace std; using ll = long long; ll gcd(ll a, ll b) { return a == 0 ? b : gcd(b % a, a); } int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n; unordered_set answer; set current; for(int i = 0; i < n; ++i) { ll a; cin >> a; for(auto it = current.begin(); it != current.end();) { auto x = *it; it = current.erase(it); auto g = gcd(x, a); current.insert(g); answer.insert(g); } current.insert(a); answer.insert(a); } cout << answer.size() << '\n'; return 0; }