#include <bits/stdc++.h>
using namespace std;
using ll=long long;
#define haimu(x) (1<<(x))
#define nl '\n'
int main () {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int n,q;
cin >> n >> q;
vector <int> a(n+1);
int k=log2(n)+1;
vector<vector<int>> st(n+1,vector<int>(k));
for (int i=1;i<=n;i++) {
cin >> a[i];
st[i][0]=a[i];
}
for (int j=1;(haimu (j))<=n;j++) {
for (int i=1;i+(haimu (j))-1<=n;i++) {
st[i][j]=max(st[i][j-1],st[i+(haimu (j-1))][j-1]);
}
}
int cnt=0;
while (q--) {
int l,r;
cin >> l >> r;
int k=floor(log2(r-l+1));
if (max(st[l][k],st[r-(haimu(k))+1][k])==a[l]) cnt++;
}
cout << cnt;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnVzaW5nIGxsPWxvbmcgbG9uZzsKI2RlZmluZSBoYWltdSh4KSAoMTw8KHgpKQojZGVmaW5lIG5sICdcbicKaW50IG1haW4gKCkgewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwogICAgaW50IG4scTsKICAgIGNpbiA+PiBuID4+IHE7CiAgICB2ZWN0b3IgPGludD4gYShuKzEpOwogICAgaW50IGs9bG9nMihuKSsxOwogICAgdmVjdG9yPHZlY3RvcjxpbnQ+PiBzdChuKzEsdmVjdG9yPGludD4oaykpOwogICAgZm9yIChpbnQgaT0xO2k8PW47aSsrKSB7CiAgICAgICAgY2luID4+IGFbaV07CiAgICAgICAgc3RbaV1bMF09YVtpXTsKICAgIH0KICAgIGZvciAoaW50IGo9MTsoaGFpbXUgKGopKTw9bjtqKyspIHsKICAgICAgICBmb3IgKGludCBpPTE7aSsoaGFpbXUgKGopKS0xPD1uO2krKykgewogICAgICAgICAgICBzdFtpXVtqXT1tYXgoc3RbaV1bai0xXSxzdFtpKyhoYWltdSAoai0xKSldW2otMV0pOwogICAgICAgIH0KICAgIH0KICAgIGludCBjbnQ9MDsKICAgIHdoaWxlIChxLS0pIHsKICAgICAgICBpbnQgbCxyOwogICAgICAgIGNpbiA+PiBsID4+IHI7CiAgICAgICAgaW50IGs9Zmxvb3IobG9nMihyLWwrMSkpOwogICAgICAgIGlmIChtYXgoc3RbbF1ba10sc3Rbci0oaGFpbXUoaykpKzFdW2tdKT09YVtsXSkgY250Kys7CiAgICB9CiAgICBjb3V0IDw8IGNudDsKICAgIHJldHVybiAwOwp9