#include<bits/stdc++.h>
using namespace std;
#define FAST ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
/*bool is_prime(long int n)
{
if (n == 1)
return false;
int i=2;
while (i*i <= n)
{
if (n % i == 0)
return false;
i += 1;
}
return true;
}*/
int main ()
{
FAST;
//freopen("rev.in","r",stdin);
int n , q;
cin>>n>>q;
vector<int>num(n);
for(int I=0 ; I<n ; I++)
cin>>num[I];
sort(num.begin(),num.end());
vector<int>temp(n);
int I=0 ,j;
for(; I<n/2 ; I++)
temp[(n-1)-I]=num[I];
j=I;
for(; I<n ; I++)
temp[I-j]=num[I];
//prefix sum on temp
vector<long long int >pr(n+1);
pr[0]=0;
for(int I=1 ; I<pr.size() ; I++)
pr[I]=pr[I-1]+temp[I-1];
long long int ms=0;
while(q--)
{
int l ,r;
cin>>l>>r;
ms+=(pr[r]-pr[l-1]);
}
cout<<ms;
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4gCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgRkFTVCBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTtjaW4udGllKE5VTEwpO2NvdXQudGllKE5VTEwpOwovKmJvb2wgaXNfcHJpbWUobG9uZyBpbnQgbikgCnsgCiAgIGlmIChuID09IDEpICAgIAogICAJcmV0dXJuIGZhbHNlOyAgICAKICAgaW50IGk9MjsgCiAgIHdoaWxlIChpKmkgPD0gbikgCiAgIHsgCiAgIAlpZiAobiAlIGkgPT0gMCkgCiAgIAkgICByZXR1cm4gZmFsc2U7IAogICAJIGkgKz0gMTsKICAgfSAKICAgcmV0dXJuIHRydWU7IAp9Ki8KaW50IG1haW4gKCkKewogIEZBU1Q7CiAgLy9mcmVvcGVuKCJyZXYuaW4iLCJyIixzdGRpbik7CiAgaW50IG4gLCBxOwogIGNpbj4+bj4+cTsKICB2ZWN0b3I8aW50Pm51bShuKTsKICBmb3IoaW50IEk9MCA7IEk8biA7IEkrKykKICAgICBjaW4+Pm51bVtJXTsKICBzb3J0KG51bS5iZWdpbigpLG51bS5lbmQoKSk7CiAgdmVjdG9yPGludD50ZW1wKG4pOwogIGludCBJPTAgLGo7CiAgZm9yKDsgSTxuLzIgOyBJKyspCiAgICAgdGVtcFsobi0xKS1JXT1udW1bSV07CiAgaj1JOwogIGZvcig7IEk8biA7IEkrKykKICAgICB0ZW1wW0ktal09bnVtW0ldOwogIC8vcHJlZml4IHN1bSBvbiB0ZW1wCiAgdmVjdG9yPGxvbmcgbG9uZyBpbnQgPnByKG4rMSk7CiAgcHJbMF09MDsKICBmb3IoaW50IEk9MSA7IEk8cHIuc2l6ZSgpIDsgSSsrKQogICAgIHByW0ldPXByW0ktMV0rdGVtcFtJLTFdOwogIGxvbmcgbG9uZyBpbnQgbXM9MDsKICB3aGlsZShxLS0pCiAgewogICAgIGludCBsICxyOwogICAgIGNpbj4+bD4+cjsgICAgCiAgICAgbXMrPShwcltyXS1wcltsLTFdKTsKICB9CiAgY291dDw8bXM7CnJldHVybiAwOwp9ICAgICA=