def gcd(a: int, b: int) -> int: """a, bの最大公約数(greatest common divisor: GCD)を求める 計算量: O(log(min(a, b))) """ if b == 0: return a return gcd(b, a%b) def multi_gcd(array: list) -> int: """arrayのGCDを求める""" n = len(array) ans = array[0] for i in range(1, n): ans = gcd(ans, array[i]) return ans n = int(input()) a = list(map(int, input().split())) l, r = 0, 0 ans = 0 while True: tmp = a[l] while True: if r == n: break if gcd(tmp, a[r]) == 1: ans += n - r break else: tmp = gcd(tmp, a[r]) r += 1 l += 1 if l > r: r = l if l == n: break print(ans)