#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N = 3e5 + 7;
const int lg = 19;
int a[N], l[N], r[N], st[N][lg];
deque<int> dq;
void init(int n) {
for (int i = 1; i <= n; i++) {
st[i][0] = a[i];
}
for (int j = 1; j < lg; j++) {
for (int i = 1; i + (1 << j) - 1 <= n; i++) {
st[i][j] = __gcd(st[i][j - 1], st[i + (1 << (j - 1))][j - 1]);
}
}
for (int i = 1; i <= n; i++) {
while (!dq.empty() && a[dq.back()] > a[i]) dq.pop_back();
l[i] = dq.empty() ? 1 : dq.back() + 1;
dq.push_back(i);
}
dq.clear();
for (int i = n; i >= 1; i--) {
while (!dq.empty() && a[dq.back()] > a[i]) dq.pop_back();
r[i] = dq.empty() ? n : dq.back() - 1;
dq.push_back(i);
}
}
int get(int x, int y) {
int k = __lg(y - x + 1);
return __gcd(st[x][k], st[y - (1 << k) + 1][k]);
}
signed main() {
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
int n; cin >> n;
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
init(n);
ll ans = 0;
for (int i = 1; i <= n; i++) {
int len1 = 0, len2 = 0;
int st = l[i], en = i;
while (st <= en) {
int mid = (st + en) >> 1;
if (get(mid, i) == a[i]) {
len1 = i - mid + 1;
en = mid - 1;
}else st = mid + 1;
}
st = i, en = r[i];
while (st <= en) {
int mid = (st + en) >> 1;
if (get(i, mid) == a[i]) {
len2 = mid - i + 1;
st = mid + 1;
}else en = mid - 1;
}
ans += 1LL * len1 * len2 - 1;
}
cout << ans << '\n';
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBpbnQgTiA9IDNlNSArIDc7CmNvbnN0IGludCBsZyA9IDE5OwppbnQgYVtOXSwgbFtOXSwgcltOXSwgc3RbTl1bbGddOwpkZXF1ZTxpbnQ+IGRxOwp2b2lkIGluaXQoaW50IG4pIHsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewogICAgICAgIHN0W2ldWzBdID0gYVtpXTsKICAgIH0KICAgIGZvciAoaW50IGogPSAxOyBqIDwgbGc7IGorKykgewogICAgICAgIGZvciAoaW50IGkgPSAxOyBpICsgKDEgPDwgaikgLSAxIDw9IG47IGkrKykgewogICAgICAgICAgICBzdFtpXVtqXSA9IF9fZ2NkKHN0W2ldW2ogLSAxXSwgc3RbaSArICgxIDw8IChqIC0gMSkpXVtqIC0gMV0pOwogICAgICAgIH0KICAgIH0KICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewogICAgICAgIHdoaWxlICghZHEuZW1wdHkoKSAmJiBhW2RxLmJhY2soKV0gPiBhW2ldKSBkcS5wb3BfYmFjaygpOwogICAgICAgIGxbaV0gPSBkcS5lbXB0eSgpID8gMSA6IGRxLmJhY2soKSArIDE7CiAgICAgICAgZHEucHVzaF9iYWNrKGkpOwogICAgfQogICAgZHEuY2xlYXIoKTsKICAgIGZvciAoaW50IGkgPSBuOyBpID49IDE7IGktLSkgewogICAgICAgIHdoaWxlICghZHEuZW1wdHkoKSAmJiBhW2RxLmJhY2soKV0gPiBhW2ldKSBkcS5wb3BfYmFjaygpOwogICAgICAgIHJbaV0gPSBkcS5lbXB0eSgpID8gbiA6IGRxLmJhY2soKSAtIDE7CiAgICAgICAgZHEucHVzaF9iYWNrKGkpOwogICAgfQp9CmludCBnZXQoaW50IHgsIGludCB5KSB7CiAgICBpbnQgayA9IF9fbGcoeSAtIHggKyAxKTsKICAgIHJldHVybiBfX2djZChzdFt4XVtrXSwgc3RbeSAtICgxIDw8IGspICsgMV1ba10pOwp9CnNpZ25lZCBtYWluKCkgewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7IGNvdXQudGllKDApOwogICAgCiAgICBpbnQgbjsgY2luID4+IG47CiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIHsKICAgICAgICBjaW4gPj4gYVtpXTsKICAgIH0KICAgIGluaXQobik7CiAgICBsbCBhbnMgPSAwOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CiAgICAgICAgaW50IGxlbjEgPSAwLCBsZW4yID0gMDsKICAgICAgICBpbnQgc3QgPSBsW2ldLCBlbiA9IGk7CiAgICAgICAgd2hpbGUgKHN0IDw9IGVuKSB7CiAgICAgICAgICAgIGludCBtaWQgPSAoc3QgKyBlbikgPj4gMTsKICAgICAgICAgICAgaWYgKGdldChtaWQsIGkpID09IGFbaV0pIHsKICAgICAgICAgICAgICAgIGxlbjEgPSBpIC0gbWlkICsgMTsKICAgICAgICAgICAgICAgIGVuID0gbWlkIC0gMTsKICAgICAgICAgICAgfWVsc2Ugc3QgPSBtaWQgKyAxOwogICAgICAgIH0KICAgICAgICBzdCA9IGksIGVuID0gcltpXTsKICAgICAgICB3aGlsZSAoc3QgPD0gZW4pIHsKICAgICAgICAgICAgaW50IG1pZCA9IChzdCArIGVuKSA+PiAxOwogICAgICAgICAgICBpZiAoZ2V0KGksIG1pZCkgPT0gYVtpXSkgewogICAgICAgICAgICAgICAgbGVuMiA9IG1pZCAtIGkgKyAxOwogICAgICAgICAgICAgICAgc3QgPSBtaWQgKyAxOwogICAgICAgICAgICB9ZWxzZSBlbiA9IG1pZCAtIDE7CiAgICAgICAgfQogICAgICAgIGFucyArPSAxTEwgKiBsZW4xICogbGVuMiAtIDE7CiAgICB9CiAgICBjb3V0IDw8IGFucyA8PCAnXG4nOwogICAgcmV0dXJuIDA7Cn0=