///TRAN THAI BAO :3
#include <iostream>
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
#define maxN 200007
long long ans[maxN] = {0};
long long BIT[maxN] = {0};
int n, m;
int p[maxN];
int pos[maxN];
vector<int>divs[maxN];
void add(int x, int val)
{
for(; x <= n; x += (x & -x))
BIT[x] += val;
}
long long sum(int x)
{
long long ans = 0;
for(; x > 0; x -= (x & -x))
ans += BIT[x];
return ans;
}
struct que
{
int l, r, id;
bool operator < (const que &other) const
{
if(r != other.r) return r < other.r;
return l < other.l;
}
};
que q[maxN];
void solve()
{
cin >> n >> m;
for(int i = 1; i <= n; i++)
{
cin >> p[i];
pos[p[i]] = i;
}
for(int i = 1; i <= n; i++)
for(int d = i; d <= n; d+=i)
divs[d].push_back(i);
for(int i = 1; i <= m; i++)
{
cin >> q[i].l >> q[i].r;
q[i].id = i;
}
sort(q+1, q+m+1);
int cur = 0;
for(int i = 1; i <= m; i++)
{
while(cur < q[i].r)
{
cur++;
for(int j = 0; j < divs[p[cur]].size(); j++)
{
int pPos = pos[divs[p[cur]][j]];
if(pPos <= cur)
add(pos[divs[p[cur]][j]], 1);
}
}
ans[q[i].id] = sum(q[i].r) - sum(q[i].l-1);
}
for(int i = 1; i <= m; i++)
cout << ans[i] << '\n';
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
solve();
return 0;
}
Ly8vVFJBTiBUSEFJIEJBTyA6MwoKI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGlvPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIG1heE4gMjAwMDA3CmxvbmcgbG9uZyBhbnNbbWF4Tl0gPSB7MH07CmxvbmcgbG9uZyBCSVRbbWF4Tl0gPSB7MH07CmludCBuLCBtOwppbnQgcFttYXhOXTsKaW50IHBvc1ttYXhOXTsKdmVjdG9yPGludD5kaXZzW21heE5dOwoKdm9pZCBhZGQoaW50IHgsIGludCB2YWwpCnsKICAgIGZvcig7IHggPD0gbjsgeCArPSAoeCAmIC14KSkKICAgICAgICBCSVRbeF0gKz0gdmFsOwp9Cgpsb25nIGxvbmcgc3VtKGludCB4KQp7CiAgICBsb25nIGxvbmcgYW5zID0gMDsKICAgIGZvcig7IHggPiAwOyB4IC09ICh4ICYgLXgpKQogICAgICAgIGFucyArPSBCSVRbeF07CiAgICByZXR1cm4gYW5zOwp9CgpzdHJ1Y3QgcXVlCnsKICAgIGludCBsLCByLCBpZDsKICAgIGJvb2wgb3BlcmF0b3IgPCAoY29uc3QgcXVlICZvdGhlcikgY29uc3QKICAgIHsKICAgICAgICBpZihyICE9IG90aGVyLnIpIHJldHVybiByIDwgb3RoZXIucjsKICAgICAgICByZXR1cm4gbCA8IG90aGVyLmw7CiAgICB9Cn07CnF1ZSBxW21heE5dOwoKdm9pZCBzb2x2ZSgpCnsKICAgIGNpbiA+PiBuID4+IG07CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG47IGkrKykKICAgIHsKICAgICAgICBjaW4gPj4gcFtpXTsKICAgICAgICBwb3NbcFtpXV0gPSBpOwogICAgfQogICAgZm9yKGludCBpID0gMTsgaSA8PSBuOyBpKyspCiAgICAgICAgZm9yKGludCBkID0gaTsgZCA8PSBuOyBkKz1pKQogICAgICAgICAgICBkaXZzW2RdLnB1c2hfYmFjayhpKTsKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbTsgaSsrKQogICAgewogICAgICAgIGNpbiA+PiBxW2ldLmwgPj4gcVtpXS5yOwogICAgICAgIHFbaV0uaWQgPSBpOwogICAgfQogICAgc29ydChxKzEsIHErbSsxKTsKICAgIGludCBjdXIgPSAwOwogICAgZm9yKGludCBpID0gMTsgaSA8PSBtOyBpKyspCiAgICB7CiAgICAgICAgd2hpbGUoY3VyIDwgcVtpXS5yKQogICAgICAgIHsKICAgICAgICAgICAgY3VyKys7CiAgICAgICAgICAgIGZvcihpbnQgaiA9IDA7IGogPCBkaXZzW3BbY3VyXV0uc2l6ZSgpOyBqKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGludCBwUG9zID0gcG9zW2RpdnNbcFtjdXJdXVtqXV07CiAgICAgICAgICAgICAgICBpZihwUG9zIDw9IGN1cikKICAgICAgICAgICAgICAgICAgICBhZGQocG9zW2RpdnNbcFtjdXJdXVtqXV0sIDEpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGFuc1txW2ldLmlkXSA9IHN1bShxW2ldLnIpIC0gc3VtKHFbaV0ubC0xKTsKICAgIH0KICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbTsgaSsrKQogICAgICAgIGNvdXQgPDwgYW5zW2ldIDw8ICdcbic7Cn0KCmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7CiAgICBjb3V0LnRpZSgwKTsKICAgIHNvbHZlKCk7CiAgICByZXR1cm4gMDsKfQo=