#include<bits/stdc++.h>
using namespace std;

int ze(int a){
if(a<0)return -a;
return a;
}
int main(){
int a,b;
cin>>a>>b;
vector<int>c(a);
for(int d=0;d<a;d++)cin>>c[d];
vector<vector<int>>e(b,vector<int>(3));
for(int f=0;f<b;f++)cin>>e[f][0]>>e[f][1]>>e[f][2];
vector<vector<int>>dp(a+1,vector<int>(b));
for(int h=1;h<a;h++){
	for(int i=0;i<b;i++){
		if(c[h]>=e[i][0]&&c[h]<=e[i][1]){
			int s=0;
		for(int j=0;j<b;j++){
			if(c[h-1]>=e[j][0]&&c[h-1]<=e[j][1])
			s=max(s,dp[h][j]+ze(e[i][2]-e[j][2]));
		}
		dp[h+1][i]=s;
		}
	}
}
int x=0;
for(int y:dp[a]){
	if(x<y)x=y;
}
cout<<x<<endl;
}