#include <iostream>
#include <vector>
#include <cmath>
#include <utility>
using namespace std;
struct wear{
int a,b,c;
};
vector<vector<int> > memovul;
int n;
int vest(const int* tmp,const wear* wd,const int d);
int main()
{
int d;
cin>>d>>n;
//table.resize(n,vector<int>(n,-1));
memovul.resize(d);
for(int i=0;i<d;i++){
memovul[i].resize(n,-1);
}
int* temperature=new int[d];
wear* wearsdata=new wear[n];
for(int i=d-1;i>=0;i--){
cin>>temperature[i];
}
for(int i=0;i<n;i++){
cin>>wearsdata[i].a>>wearsdata[i].b>>wearsdata[i].c;
}
cout<<vest(temperature,wearsdata,d)<<endl;
}
int vest(const int* tmp,const wear* wd,const int d)
{
pair<int,int> table[2][2]={pair<int,int>(-1,0),pair<int,int>(-1,0),pair<int,int>(-1,0),pair<int,int>(-1,0)};
int dabs;
for(int i=0;i<d;i++){
table[i%2][0].first=-1;
for(int j=0;j<n;j++){
if(wd[j].a<=tmp[i] && wd[j].b>=tmp[i]){
if(table[i%2][0].first==-1){
table[i%2][0].first=j;
table[i%2][1].first=j;
if(i){
dabs=abs(wd[table[(i+1)%2][0].first].c-wd[j].c)+table[(i+1)%2][0].second;
table[i%2][0].second=abs(wd[table[(i+1)%2][1].first].c-wd[j].c)+table[(i+1)%2][1].second;
if(dabs>table[i%2][0].second){
table[i%2][0].second=dabs;
}
table[i%2][1].second=table[i%2][0].second;
}
}else{
if(wd[table[i%2][0].first].c<wd[j].c){
if(i){
dabs=abs(wd[table[(i+1)%2][0].first].c-wd[j].c)+table[(i+1)%2][0].second;
table[i%2][0].second=abs(wd[table[(i+1)%2][1].first].c-wd[j].c)+table[(i+1)%2][1].second;
if(dabs>table[i%2][0].second){
table[i%2][0].second=dabs;
}
}
table[i%2][0].first=j;
}else if(wd[table[i%2][1].first].c>wd[j].c){
if(i){
dabs=abs(wd[table[(i+1)%2][1].first].c-wd[j].c)+table[(i+1)%2][1].second;
table[i%2][1].second=abs(wd[table[(i+1)%2][0].first].c-wd[j].c)+table[(i+1)%2][0].second;
if(dabs>table[i%2][1].second){
table[i%2][1].second=dabs;
}
}
table[i%2][1].first=j;
}
}
}
}
}
if(table[(d+1)%2][0].second<table[(d+1)%2][1].second){
return table[(d+1)%2][1].second;
}
return table[(d-1)%2][0].second;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8Y21hdGg+CiNpbmNsdWRlIDx1dGlsaXR5PgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnN0cnVjdCB3ZWFyewogICAgaW50IGEsYixjOwp9OwoKdmVjdG9yPHZlY3RvcjxpbnQ+ID4gbWVtb3Z1bDsKaW50IG47CgppbnQgdmVzdChjb25zdCBpbnQqIHRtcCxjb25zdCB3ZWFyKiB3ZCxjb25zdCBpbnQgZCk7CgppbnQgbWFpbigpCnsKCWludCBkOwoJY2luPj5kPj5uOwoJLy90YWJsZS5yZXNpemUobix2ZWN0b3I8aW50PihuLC0xKSk7CgltZW1vdnVsLnJlc2l6ZShkKTsKCWZvcihpbnQgaT0wO2k8ZDtpKyspewoJCW1lbW92dWxbaV0ucmVzaXplKG4sLTEpOwoJfQoJaW50KiB0ZW1wZXJhdHVyZT1uZXcgaW50W2RdOwoJd2Vhciogd2VhcnNkYXRhPW5ldyB3ZWFyW25dOwoJZm9yKGludCBpPWQtMTtpPj0wO2ktLSl7CgkJY2luPj50ZW1wZXJhdHVyZVtpXTsKCX0KCWZvcihpbnQgaT0wO2k8bjtpKyspewoJCWNpbj4+d2VhcnNkYXRhW2ldLmE+PndlYXJzZGF0YVtpXS5iPj53ZWFyc2RhdGFbaV0uYzsKCX0KCWNvdXQ8PHZlc3QodGVtcGVyYXR1cmUsd2VhcnNkYXRhLGQpPDxlbmRsOwp9CmludCB2ZXN0KGNvbnN0IGludCogdG1wLGNvbnN0IHdlYXIqIHdkLGNvbnN0IGludCBkKQp7CglwYWlyPGludCxpbnQ+IHRhYmxlWzJdWzJdPXtwYWlyPGludCxpbnQ+KC0xLDApLHBhaXI8aW50LGludD4oLTEsMCkscGFpcjxpbnQsaW50PigtMSwwKSxwYWlyPGludCxpbnQ+KC0xLDApfTsKCWludCBkYWJzOwoJZm9yKGludCBpPTA7aTxkO2krKyl7CgkJdGFibGVbaSUyXVswXS5maXJzdD0tMTsKCQlmb3IoaW50IGo9MDtqPG47aisrKXsKCQkJaWYod2Rbal0uYTw9dG1wW2ldICYmIHdkW2pdLmI+PXRtcFtpXSl7CgkJCQlpZih0YWJsZVtpJTJdWzBdLmZpcnN0PT0tMSl7CgkJCQkJdGFibGVbaSUyXVswXS5maXJzdD1qOwoJCQkJCXRhYmxlW2klMl1bMV0uZmlyc3Q9ajsKCQkJCQlpZihpKXsKCQkJCQkJZGFicz1hYnMod2RbdGFibGVbKGkrMSklMl1bMF0uZmlyc3RdLmMtd2Rbal0uYykrdGFibGVbKGkrMSklMl1bMF0uc2Vjb25kOwoJCQkJCQl0YWJsZVtpJTJdWzBdLnNlY29uZD1hYnMod2RbdGFibGVbKGkrMSklMl1bMV0uZmlyc3RdLmMtd2Rbal0uYykrdGFibGVbKGkrMSklMl1bMV0uc2Vjb25kOwoJCQkJCQlpZihkYWJzPnRhYmxlW2klMl1bMF0uc2Vjb25kKXsKCQkJCQkJCXRhYmxlW2klMl1bMF0uc2Vjb25kPWRhYnM7CgkJCQkJCX0KCQkJCQkJdGFibGVbaSUyXVsxXS5zZWNvbmQ9dGFibGVbaSUyXVswXS5zZWNvbmQ7CgkJCQkJfQoJCQkJfWVsc2V7CgkJCQkJaWYod2RbdGFibGVbaSUyXVswXS5maXJzdF0uYzx3ZFtqXS5jKXsKCQkJCQkJaWYoaSl7CgkJCQkJCQlkYWJzPWFicyh3ZFt0YWJsZVsoaSsxKSUyXVswXS5maXJzdF0uYy13ZFtqXS5jKSt0YWJsZVsoaSsxKSUyXVswXS5zZWNvbmQ7CgkJCQkJCQl0YWJsZVtpJTJdWzBdLnNlY29uZD1hYnMod2RbdGFibGVbKGkrMSklMl1bMV0uZmlyc3RdLmMtd2Rbal0uYykrdGFibGVbKGkrMSklMl1bMV0uc2Vjb25kOwoJCQkJCQkJaWYoZGFicz50YWJsZVtpJTJdWzBdLnNlY29uZCl7CgkJCQkJCQkJdGFibGVbaSUyXVswXS5zZWNvbmQ9ZGFiczsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCQl0YWJsZVtpJTJdWzBdLmZpcnN0PWo7CgkJCQkJfWVsc2UgaWYod2RbdGFibGVbaSUyXVsxXS5maXJzdF0uYz53ZFtqXS5jKXsKCQkJCQkJaWYoaSl7CgkJCQkJCQlkYWJzPWFicyh3ZFt0YWJsZVsoaSsxKSUyXVsxXS5maXJzdF0uYy13ZFtqXS5jKSt0YWJsZVsoaSsxKSUyXVsxXS5zZWNvbmQ7CgkJCQkJCQl0YWJsZVtpJTJdWzFdLnNlY29uZD1hYnMod2RbdGFibGVbKGkrMSklMl1bMF0uZmlyc3RdLmMtd2Rbal0uYykrdGFibGVbKGkrMSklMl1bMF0uc2Vjb25kOwoJCQkJCQkJaWYoZGFicz50YWJsZVtpJTJdWzFdLnNlY29uZCl7CgkJCQkJCQkJdGFibGVbaSUyXVsxXS5zZWNvbmQ9ZGFiczsKCQkJCQkJCX0KCQkJCQkJfQoJCQkJCQl0YWJsZVtpJTJdWzFdLmZpcnN0PWo7CgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoJfQoJaWYodGFibGVbKGQrMSklMl1bMF0uc2Vjb25kPHRhYmxlWyhkKzEpJTJdWzFdLnNlY29uZCl7CgkJcmV0dXJuIHRhYmxlWyhkKzEpJTJdWzFdLnNlY29uZDsKCX0KCXJldHVybiB0YWJsZVsoZC0xKSUyXVswXS5zZWNvbmQ7Cn0=