#include <bits/stdc++.h>
using namespace std;
const int MaxN=2e5+1;
int N,M;
long L[MaxN]={},R[MaxN]={},W[MaxN]={},T[MaxN]={};
long Line[MaxN]={};
long add[MaxN]={};
long comp(long lhs,long rhs){
return lhs>rhs;
}
int main(){
cin>>N>>M;
for(int m=0;m<M;m++){
cin>>L[m]>>R[m]>>W[m];
R[m]++;
}
for(int n=0;n<N;n++){
cin>>T[n];
}
for(int m=0;m<=M;m++){
add[L[m]]+=W[m];
add[R[m]]-=W[m];
}
long now=0;
for(int n=0;n<=N;n++){
now+=add[n];
Line[n]=now;
}
sort(Line,Line+N+1,comp);
sort(T,T+N);
long ans=0;
for(int n=0;n<=N;n++){
ans+=Line[n]*T[n];
}
cout<<ans;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGludCBNYXhOPTJlNSsxOwppbnQgTixNOwpsb25nIExbTWF4Tl09e30sUltNYXhOXT17fSxXW01heE5dPXt9LFRbTWF4Tl09e307CmxvbmcgTGluZVtNYXhOXT17fTsKbG9uZyBhZGRbTWF4Tl09e307CmxvbmcgY29tcChsb25nIGxocyxsb25nIHJocyl7CglyZXR1cm4gbGhzPnJoczsKfQppbnQgbWFpbigpewoJY2luPj5OPj5NOwoJZm9yKGludCBtPTA7bTxNO20rKyl7CgkJY2luPj5MW21dPj5SW21dPj5XW21dOwoJCVJbbV0rKzsKCX0KCWZvcihpbnQgbj0wO248TjtuKyspewoJCWNpbj4+VFtuXTsKCX0KCWZvcihpbnQgbT0wO208PU07bSsrKXsKCQlhZGRbTFttXV0rPVdbbV07CgkJYWRkW1JbbV1dLT1XW21dOwoJfQoJbG9uZyBub3c9MDsKCWZvcihpbnQgbj0wO248PU47bisrKXsKCQlub3crPWFkZFtuXTsKCQlMaW5lW25dPW5vdzsKCX0KCXNvcnQoTGluZSxMaW5lK04rMSxjb21wKTsKCXNvcnQoVCxUK04pOwoJbG9uZyBhbnM9MDsKCWZvcihpbnQgbj0wO248PU47bisrKXsKCQlhbnMrPUxpbmVbbl0qVFtuXTsKCX0KCWNvdXQ8PGFuczsKCQoJcmV0dXJuIDA7Cn0=