// ~~ icebear ~~
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
typedef pair<int, ii> iii;
template<class T>
bool minimize(T &a, const T &b) {
if (a > b) return a = b, true;
return false;
}
template<class T>
bool maximize(T &a, const T &b) {
if (a < b) return a = b, true;
return false;
}
#define FOR(i,a,b) for(int i=(a); i<=(b); ++i)
#define FORR(i,a,b) for(int i=(a); i>=(b); --i)
#define REP(i, n) for(int i=0; i<(n); ++i)
#define RED(i, n) for(int i=(n)-1; i>=0; --i)
#define MASK(i) (1LL << (i))
#define BIT(S, i) (((S) >> (i)) & 1)
#define mp make_pair
#define pb push_back
#define fi first
#define se second
#define all(x) x.begin(), x.end()
#define task "csch"
const int MOD = 1e9 + 7;
const int inf = 1e9 + 27092008;
const ll INF = 1e18 + 27092008;
const int N = 1e5 + 5;
const int S = 20;
struct Query {
int l, r, id;
bool operator < (const Query &other) const {
if (l / S != other.l / S) return l < other.l;
return ((l / S) & 1 ? r > other.r : r < other.r);
}
} Q[N];
struct Event {
int l, r, id, sign;
Event(int _l = 0, int _r = 0, int _id = 0, int _sign = 0):
l(_l), r(_r), id(_id), sign(_sign) {}
};
vector<Event> E[N];
int n, q, a[N], last_id[N];
ll ans_prev[N], ans_there[N], ans[N];
vector<int> divs[N];
void init(void) {
cin >> n >> q;
FOR(i, 1, n) cin >> a[i];
FOR(i, 1, q) cin >> Q[i].l >> Q[i].r, Q[i].id = i;
FOR(i, 1, N - 5) for(int j = i; j < N; j += i)
divs[j].pb(i);
}
void process(void) {
sort(Q + 1, Q + q + 1);
int L = 1, R = 0, last = 0;
FOR(i, 1, q) {
last_id[i] = last;
last = Q[i].id;
int l = Q[i].l, r = Q[i].r;
if (L > r || R < l) {
E[r].emplace_back(l, r - 1, Q[i].id, +1);
L = l;
R = r;
last_id[i] = 0;
continue;
}
if (L > l) E[R].emplace_back(l, L - 1, Q[i].id, +1);
if (L < l) E[R].emplace_back(L, l - 1, Q[i].id, -1);
L = l;
if (R < r) E[L - 1].emplace_back(R + 1, r, Q[i].id, +1);
if (R > r) E[L - 1].emplace_back(r + 1, R, Q[i].id, -1);
R = r;
}
/*
contribution of [x, y] to [u, v] : G(x, y, u, v)
1. [l, r] -> [l', r]
= G(l-1, l-1, l, r) + G(l-2, l-2, l-1, r) + ... + G(l', l', l'+1, r)
= G(l', l, 1, r) - (G(l', l', 1, l') + G(l'+1, l'+1, 1, l'+1) + ... G(l, l, 1, l))
= G(l', l, 1, r) - (ans_there[l] - ans_there[l'-1])
2. [l, r] -> [l, r']
= G(r+1, r+1, l, r) + G(r+2, r+2, l, r+1) + ... + G(r', r', l, r'-1)
= G(r+1, r+1, 1, r) + G(r+2, r+2, 1, r+1) + ... + G(r', r', 1, r'-1) - G(r, r', 1, l-1)
= (ans_prev[r'] - ans_prev[r-1]) - G(1, l-1, r, r')
*/
vector<int> div_cnt(N, 0), mul_cnt(N, 0), freq(N, 0);
FOR(i, 1, n) {
ans_prev[i] = ans_prev[i - 1] + div_cnt[a[i]];
for(int &d : divs[a[i]]) ans_prev[i] += freq[d];
for(int &d : divs[a[i]]) div_cnt[d]++;
freq[a[i]]++;
ans_there[i] = ans_there[i - 1] + div_cnt[a[i]];
for(int &d : divs[a[i]]) ans_there[i] += freq[d];
if (a[i] >= S) {
for(int x = a[i]; x < N; x += a[i])
mul_cnt[x]++;
}
for(auto &e : E[i]) {
if (e.r <= i) {
// Case 1
FOR(j, e.l, e.r)
ans[e.id] += e.sign * (div_cnt[a[j]] + mul_cnt[a[j]]);
} else {
// Case 2
FOR(j, e.l, e.r)
ans[e.id] -= e.sign * (div_cnt[a[j]] + mul_cnt[a[j]]);
}
}
}
FOR(d, 1, S - 1) {
vector<int> pref(n+5, 0);
FOR(i, 1, n) pref[i] = (a[i] == d);
partial_sum(all(pref), pref.begin());
vector<ll> pref2(n+5, 0);
FOR(i, 1, n) if (a[i] % d == 0)
pref2[i] = 1;
partial_sum(all(pref2), pref2.begin());
FOR(i, 1, n) for(auto &e : E[i]) {
if (e.r <= i) {
ans[e.id] += e.sign * (pref2[e.r] - pref2[e.l - 1]) * pref[i];
} else {
ans[e.id] -= e.sign * (pref2[e.r] - pref2[e.l - 1]) * pref[i];
}
}
}
FOR(i, 0, n) for(auto &e : E[i]) {
if (e.r <= i) {
// Case 1
ans[e.id] -= e.sign * (ans_there[e.r] - ans_there[e.l - 1]);
} else {
// Case 2
ans[e.id] += e.sign * (ans_prev[e.r] - ans_prev[e.l - 1]);
}
}
FOR(i, 1, q) ans[Q[i].id] += ans[last_id[i]];
FOR(i, 1, q) ans[Q[i].id] += Q[i].r - Q[i].l + 1;
FOR(i, 1, q) cout << ans[i] << '\n';
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
if (fopen(task".inp", "r")) {
freopen(task".inp", "r", stdin);
freopen(task".out", "w", stdout);
}
int tc = 1;
// cin >> tc;
while(tc--) {
init();
process();
}
return 0;
}
Ly8gfn4gaWNlYmVhciB+fgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnR5cGVkZWYgbG9uZyBsb25nIGxsOwp0eXBlZGVmIHBhaXI8aW50LCBpbnQ+IGlpOwp0eXBlZGVmIHBhaXI8aW50LCBpaT4gaWlpOwoKdGVtcGxhdGU8Y2xhc3MgVD4KICAgIGJvb2wgbWluaW1pemUoVCAmYSwgY29uc3QgVCAmYikgewogICAgICAgIGlmIChhID4gYikgcmV0dXJuIGEgPSBiLCB0cnVlOwogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCnRlbXBsYXRlPGNsYXNzIFQ+CiAgICBib29sIG1heGltaXplKFQgJmEsIGNvbnN0IFQgJmIpIHsKICAgICAgICBpZiAoYSA8IGIpIHJldHVybiBhID0gYiwgdHJ1ZTsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgojZGVmaW5lIEZPUihpLGEsYikgZm9yKGludCBpPShhKTsgaTw9KGIpOyArK2kpCiNkZWZpbmUgRk9SUihpLGEsYikgZm9yKGludCBpPShhKTsgaT49KGIpOyAtLWkpCiNkZWZpbmUgUkVQKGksIG4pIGZvcihpbnQgaT0wOyBpPChuKTsgKytpKQojZGVmaW5lIFJFRChpLCBuKSBmb3IoaW50IGk9KG4pLTE7IGk+PTA7IC0taSkKI2RlZmluZSBNQVNLKGkpICgxTEwgPDwgKGkpKQojZGVmaW5lIEJJVChTLCBpKSAoKChTKSA+PiAoaSkpICYgMSkKI2RlZmluZSBtcCBtYWtlX3BhaXIKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIGFsbCh4KSB4LmJlZ2luKCksIHguZW5kKCkKI2RlZmluZSB0YXNrICJjc2NoIgoKY29uc3QgaW50IE1PRCA9IDFlOSArIDc7CmNvbnN0IGludCBpbmYgPSAxZTkgKyAyNzA5MjAwODsKY29uc3QgbGwgSU5GID0gMWUxOCArIDI3MDkyMDA4Owpjb25zdCBpbnQgTiA9IDFlNSArIDU7CmNvbnN0IGludCBTID0gMjA7CnN0cnVjdCBRdWVyeSB7CiAgICBpbnQgbCwgciwgaWQ7CiAgICBib29sIG9wZXJhdG9yIDwgKGNvbnN0IFF1ZXJ5ICZvdGhlcikgY29uc3QgewogICAgICAgIGlmIChsIC8gUyAhPSBvdGhlci5sIC8gUykgcmV0dXJuIGwgPCBvdGhlci5sOwogICAgICAgIHJldHVybiAoKGwgLyBTKSAmIDEgPyByID4gb3RoZXIuciA6IHIgPCBvdGhlci5yKTsKICAgIH0KfSBRW05dOwoKc3RydWN0IEV2ZW50IHsKICAgIGludCBsLCByLCBpZCwgc2lnbjsKICAgIEV2ZW50KGludCBfbCA9IDAsIGludCBfciA9IDAsIGludCBfaWQgPSAwLCBpbnQgX3NpZ24gPSAwKToKICAgICAgICBsKF9sKSwgcihfciksIGlkKF9pZCksIHNpZ24oX3NpZ24pIHt9Cn07CnZlY3RvcjxFdmVudD4gRVtOXTsKCmludCBuLCBxLCBhW05dLCBsYXN0X2lkW05dOwpsbCBhbnNfcHJldltOXSwgYW5zX3RoZXJlW05dLCBhbnNbTl07CnZlY3RvcjxpbnQ+IGRpdnNbTl07Cgp2b2lkIGluaXQodm9pZCkgewogICAgY2luID4+IG4gPj4gcTsKICAgIEZPUihpLCAxLCBuKSBjaW4gPj4gYVtpXTsKICAgIEZPUihpLCAxLCBxKSBjaW4gPj4gUVtpXS5sID4+IFFbaV0uciwgUVtpXS5pZCA9IGk7CiAgICBGT1IoaSwgMSwgTiAtIDUpIGZvcihpbnQgaiA9IGk7IGogPCBOOyBqICs9IGkpCiAgICAgICAgZGl2c1tqXS5wYihpKTsKfQoKdm9pZCBwcm9jZXNzKHZvaWQpIHsKICAgIHNvcnQoUSArIDEsIFEgKyBxICsgMSk7CiAgICBpbnQgTCA9IDEsIFIgPSAwLCBsYXN0ID0gMDsKICAgIEZPUihpLCAxLCBxKSB7CiAgICAgICAgbGFzdF9pZFtpXSA9IGxhc3Q7CiAgICAgICAgbGFzdCA9IFFbaV0uaWQ7CiAgICAgICAgaW50IGwgPSBRW2ldLmwsIHIgPSBRW2ldLnI7CiAgICAgICAgaWYgKEwgPiByIHx8IFIgPCBsKSB7CiAgICAgICAgICAgIEVbcl0uZW1wbGFjZV9iYWNrKGwsIHIgLSAxLCBRW2ldLmlkLCArMSk7CiAgICAgICAgICAgIEwgPSBsOwogICAgICAgICAgICBSID0gcjsKICAgICAgICAgICAgbGFzdF9pZFtpXSA9IDA7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KCiAgICAgICAgaWYgKEwgPiBsKSBFW1JdLmVtcGxhY2VfYmFjayhsLCBMIC0gMSwgUVtpXS5pZCwgKzEpOwogICAgICAgIGlmIChMIDwgbCkgRVtSXS5lbXBsYWNlX2JhY2soTCwgbCAtIDEsIFFbaV0uaWQsIC0xKTsKICAgICAgICBMID0gbDsKCiAgICAgICAgaWYgKFIgPCByKSBFW0wgLSAxXS5lbXBsYWNlX2JhY2soUiArIDEsIHIsIFFbaV0uaWQsICsxKTsKICAgICAgICBpZiAoUiA+IHIpIEVbTCAtIDFdLmVtcGxhY2VfYmFjayhyICsgMSwgUiwgUVtpXS5pZCwgLTEpOwogICAgICAgIFIgPSByOwogICAgfQoKICAgIC8qCiAgICAgICAgY29udHJpYnV0aW9uIG9mIFt4LCB5XSB0byBbdSwgdl0gOiBHKHgsIHksIHUsIHYpCiAgICAgICAgMS4gW2wsIHJdIC0+IFtsJywgcl0KICAgICAgICAgICAgPSBHKGwtMSwgbC0xLCBsLCByKSArIEcobC0yLCBsLTIsIGwtMSwgcikgKyAuLi4gKyBHKGwnLCBsJywgbCcrMSwgcikKICAgICAgICAgICAgPSBHKGwnLCBsLCAxLCByKSAtIChHKGwnLCBsJywgMSwgbCcpICsgRyhsJysxLCBsJysxLCAxLCBsJysxKSArIC4uLiBHKGwsIGwsIDEsIGwpKQogICAgICAgICAgICA9IEcobCcsIGwsIDEsIHIpIC0gKGFuc190aGVyZVtsXSAtIGFuc190aGVyZVtsJy0xXSkKCiAgICAgICAgMi4gW2wsIHJdIC0+IFtsLCByJ10KICAgICAgICAgICAgPSBHKHIrMSwgcisxLCBsLCByKSArIEcocisyLCByKzIsIGwsIHIrMSkgKyAuLi4gKyBHKHInLCByJywgbCwgcictMSkKICAgICAgICAgICAgPSBHKHIrMSwgcisxLCAxLCByKSArIEcocisyLCByKzIsIDEsIHIrMSkgKyAuLi4gKyBHKHInLCByJywgMSwgcictMSkgLSBHKHIsIHInLCAxLCBsLTEpCiAgICAgICAgICAgID0gKGFuc19wcmV2W3InXSAtIGFuc19wcmV2W3ItMV0pIC0gRygxLCBsLTEsIHIsIHInKQogICAgKi8KCiAgICB2ZWN0b3I8aW50PiBkaXZfY250KE4sIDApLCBtdWxfY250KE4sIDApLCBmcmVxKE4sIDApOwogICAgRk9SKGksIDEsIG4pIHsKICAgICAgICBhbnNfcHJldltpXSA9IGFuc19wcmV2W2kgLSAxXSArIGRpdl9jbnRbYVtpXV07CiAgICAgICAgZm9yKGludCAmZCA6IGRpdnNbYVtpXV0pIGFuc19wcmV2W2ldICs9IGZyZXFbZF07CiAgICAgICAgZm9yKGludCAmZCA6IGRpdnNbYVtpXV0pIGRpdl9jbnRbZF0rKzsKICAgICAgICBmcmVxW2FbaV1dKys7CgogICAgICAgIGFuc190aGVyZVtpXSA9IGFuc190aGVyZVtpIC0gMV0gKyBkaXZfY250W2FbaV1dOwogICAgICAgIGZvcihpbnQgJmQgOiBkaXZzW2FbaV1dKSBhbnNfdGhlcmVbaV0gKz0gZnJlcVtkXTsKCiAgICAgICAgaWYgKGFbaV0gPj0gUykgewogICAgICAgICAgICBmb3IoaW50IHggPSBhW2ldOyB4IDwgTjsgeCArPSBhW2ldKQogICAgICAgICAgICAgICAgbXVsX2NudFt4XSsrOwogICAgICAgIH0KCiAgICAgICAgZm9yKGF1dG8gJmUgOiBFW2ldKSB7CiAgICAgICAgICAgIGlmIChlLnIgPD0gaSkgewogICAgICAgICAgICAgICAgLy8gQ2FzZSAxCiAgICAgICAgICAgICAgICBGT1IoaiwgZS5sLCBlLnIpCiAgICAgICAgICAgICAgICAgICAgYW5zW2UuaWRdICs9IGUuc2lnbiAqIChkaXZfY250W2Fbal1dICsgbXVsX2NudFthW2pdXSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAvLyBDYXNlIDIKICAgICAgICAgICAgICAgIEZPUihqLCBlLmwsIGUucikKICAgICAgICAgICAgICAgICAgICBhbnNbZS5pZF0gLT0gZS5zaWduICogKGRpdl9jbnRbYVtqXV0gKyBtdWxfY250W2Fbal1dKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBGT1IoZCwgMSwgUyAtIDEpIHsKICAgICAgICB2ZWN0b3I8aW50PiBwcmVmKG4rNSwgMCk7CiAgICAgICAgRk9SKGksIDEsIG4pIHByZWZbaV0gPSAoYVtpXSA9PSBkKTsKCiAgICAgICAgcGFydGlhbF9zdW0oYWxsKHByZWYpLCBwcmVmLmJlZ2luKCkpOwogICAgICAgIHZlY3RvcjxsbD4gcHJlZjIobis1LCAwKTsKICAgICAgICBGT1IoaSwgMSwgbikgaWYgKGFbaV0gJSBkID09IDApCiAgICAgICAgICAgIHByZWYyW2ldID0gMTsKICAgICAgICBwYXJ0aWFsX3N1bShhbGwocHJlZjIpLCBwcmVmMi5iZWdpbigpKTsKCiAgICAgICAgRk9SKGksIDEsIG4pIGZvcihhdXRvICZlIDogRVtpXSkgewogICAgICAgICAgICBpZiAoZS5yIDw9IGkpIHsKICAgICAgICAgICAgICAgIGFuc1tlLmlkXSArPSBlLnNpZ24gKiAocHJlZjJbZS5yXSAtIHByZWYyW2UubCAtIDFdKSAqIHByZWZbaV07CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBhbnNbZS5pZF0gLT0gZS5zaWduICogKHByZWYyW2Uucl0gLSBwcmVmMltlLmwgLSAxXSkgKiBwcmVmW2ldOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIEZPUihpLCAwLCBuKSBmb3IoYXV0byAmZSA6IEVbaV0pIHsKICAgICAgICBpZiAoZS5yIDw9IGkpIHsKICAgICAgICAgICAgLy8gQ2FzZSAxCiAgICAgICAgICAgIGFuc1tlLmlkXSAtPSBlLnNpZ24gKiAoYW5zX3RoZXJlW2Uucl0gLSBhbnNfdGhlcmVbZS5sIC0gMV0pOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIC8vIENhc2UgMgogICAgICAgICAgICBhbnNbZS5pZF0gKz0gZS5zaWduICogKGFuc19wcmV2W2Uucl0gLSBhbnNfcHJldltlLmwgLSAxXSk7CiAgICAgICAgfQogICAgfQoKICAgIEZPUihpLCAxLCBxKSBhbnNbUVtpXS5pZF0gKz0gYW5zW2xhc3RfaWRbaV1dOwogICAgRk9SKGksIDEsIHEpIGFuc1tRW2ldLmlkXSArPSBRW2ldLnIgLSBRW2ldLmwgKyAxOwogICAgRk9SKGksIDEsIHEpIGNvdXQgPDwgYW5zW2ldIDw8ICdcbic7Cn0KCmludCBtYWluKCkgewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7IGNvdXQudGllKDApOwogICAgaWYgKGZvcGVuKHRhc2siLmlucCIsICJyIikpIHsKICAgICAgICBmcmVvcGVuKHRhc2siLmlucCIsICJyIiwgc3RkaW4pOwogICAgICAgIGZyZW9wZW4odGFzayIub3V0IiwgInciLCBzdGRvdXQpOwogICAgfQogICAgaW50IHRjID0gMTsKLy8gICAgY2luID4+IHRjOwogICAgd2hpbGUodGMtLSkgewogICAgICAgIGluaXQoKTsKICAgICAgICBwcm9jZXNzKCk7CiAgICB9CiAgICByZXR1cm4gMDsKfQ==