#include <iostream>
#include <string.h>
#include <map>
#include <queue>
using namespace std;
const int S=200010;
struct E{
int l,r;
bool operator<(const E& e1) const {
if(l!=e1.l)return l>e1.l;
return r>e1.r;
}
};
int main() {
// your code goes here
long long int memo1[S];
long long int memo2[S];
long long int dp[S];
long long int data[S];
long long int n,m;
map<int,int> memo3;
priority_queue<E> pq;
memset(memo1,0,sizeof(memo1));
memset(memo2,0,sizeof(memo2));
memset(dp,0,sizeof(dp));
cin>>n>>m;
for(int i=0;i<n;i++){
cin>>data[i];
}
dp[n]=0;
E e1;
for(int i=0;i<m;i++){
int l,r;
cin>>l>>r;
memo1[r]++;
e1.l=l-1;
e1.r=r;
pq.push(e1);
}
for(int i=0;i<=n;i++){
while(pq.size()>0 && pq.top().l<=i){
E e1=pq.top();
pq.pop();
memo3[e1.r]++;
}
memo3[i]-=memo1[i];
if(memo3[i]==0){
memo3.erase(i);
}
if(memo3.size()==0||(i+1==n)){
memo2[i]=i+1;
}else{
map<int,int>::iterator it=memo3.end();
it--;
memo2[i]=(*it).first;
}
}
for(int i=0;i<n;i++){
//cout<<i<<" "<<memo2[i]<<endl;
long long int t=dp[i]+data[i];
if(dp[memo2[i]]<t)dp[memo2[i]]=t;
if(dp[i+1]<dp[i])dp[i+1]=dp[i];
}
long long int ans=0;
for(int i=0;i<=n;i++){
if(ans<dp[i])ans=dp[i];
}
cout<<ans<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nLmg+CiNpbmNsdWRlIDxtYXA+CiNpbmNsdWRlIDxxdWV1ZT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGludCBTPTIwMDAxMDsKc3RydWN0IEV7CglpbnQgbCxyOwoJYm9vbCBvcGVyYXRvcjwoY29uc3QgRSYgZTEpIGNvbnN0IHsKCQlpZihsIT1lMS5sKXJldHVybiBsPmUxLmw7CgkJcmV0dXJuIHI+ZTEucjsKCX0KfTsKCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJbG9uZyBsb25nIGludCBtZW1vMVtTXTsKCWxvbmcgbG9uZyBpbnQgbWVtbzJbU107Cglsb25nIGxvbmcgaW50IGRwW1NdOwoJbG9uZyBsb25nIGludCBkYXRhW1NdOwoJbG9uZyBsb25nIGludCBuLG07CgltYXA8aW50LGludD4gbWVtbzM7Cglwcmlvcml0eV9xdWV1ZTxFPiBwcTsKCW1lbXNldChtZW1vMSwwLHNpemVvZihtZW1vMSkpOwoJbWVtc2V0KG1lbW8yLDAsc2l6ZW9mKG1lbW8yKSk7CgltZW1zZXQoZHAsMCxzaXplb2YoZHApKTsKCWNpbj4+bj4+bTsKCWZvcihpbnQgaT0wO2k8bjtpKyspewoJCWNpbj4+ZGF0YVtpXTsKCX0KCWRwW25dPTA7CglFIGUxOwoJZm9yKGludCBpPTA7aTxtO2krKyl7CgkJaW50IGwscjsKCQljaW4+Pmw+PnI7CgkJbWVtbzFbcl0rKzsKCQllMS5sPWwtMTsKCQllMS5yPXI7CgkJcHEucHVzaChlMSk7Cgl9CgoJZm9yKGludCBpPTA7aTw9bjtpKyspewoJCXdoaWxlKHBxLnNpemUoKT4wICYmIHBxLnRvcCgpLmw8PWkpewoJCQlFIGUxPXBxLnRvcCgpOwoJCQlwcS5wb3AoKTsKCQkJbWVtbzNbZTEucl0rKzsKCQl9CgkJbWVtbzNbaV0tPW1lbW8xW2ldOwoJCWlmKG1lbW8zW2ldPT0wKXsKCQkJbWVtbzMuZXJhc2UoaSk7CgkJfQoJCQoJCWlmKG1lbW8zLnNpemUoKT09MHx8KGkrMT09bikpewoJCQltZW1vMltpXT1pKzE7CQoJCX1lbHNlewoJCQltYXA8aW50LGludD46Oml0ZXJhdG9yIGl0PW1lbW8zLmVuZCgpOwoJCQlpdC0tOwoJCQltZW1vMltpXT0oKml0KS5maXJzdDsKCQl9CgkJCgl9Cglmb3IoaW50IGk9MDtpPG47aSsrKXsKCQkvL2NvdXQ8PGk8PCIgIjw8bWVtbzJbaV08PGVuZGw7CgkJbG9uZyBsb25nIGludCB0PWRwW2ldK2RhdGFbaV07CgkJaWYoZHBbbWVtbzJbaV1dPHQpZHBbbWVtbzJbaV1dPXQ7CgkJaWYoZHBbaSsxXTxkcFtpXSlkcFtpKzFdPWRwW2ldOwoJfQoJbG9uZyBsb25nIGludCBhbnM9MDsKCWZvcihpbnQgaT0wO2k8PW47aSsrKXsKCQlpZihhbnM8ZHBbaV0pYW5zPWRwW2ldOwoJfQoJY291dDw8YW5zPDxlbmRsOwoJcmV0dXJuIDA7Cn0=
MjAgMTAKODcwODUxODE0IDU5NDQxNDY4NyA2MTU5MTk0NjEgNjUwMzMyNDUgNDYwMTQzMDgyIDYxNzQ2MDgyMyA4ODE4NzA5NTcgMTI2MDQxMjY1IDYyMzA3NTcwMyAzNDEzMDcyNyAyNzA1NDYyOCA4NTM1Njc2NTEgNDgzMjI4NzQ0IDQ5MTE0NTc1NSAyMjA2ODk5NDAgMTQ4MDA3OTMwIDIyOTI1NzEwMSA3OTA0MDQ5ODIgNjEyMTg2ODA2IDI4MTA3NjIzMQoxNSAxOQoyMCAyMAoxMiAxMwoxIDQKMTkgMTkKOSAxMwozIDYKOSAxMgoxNiAxNgoxOCAxOQ==
20 10
870851814 594414687 615919461 65033245 460143082 617460823 881870957 126041265 623075703 34130727 27054628 853567651 483228744 491145755 220689940 148007930 229257101 790404982 612186806 281076231
15 19
20 20
12 13
1 4
19 19
9 13
3 6
9 12
16 16
18 19