#include <iostream>
#include <cmath>
using namespace std;

int main(){
	int D,N;
	cin>>D>>N;
	int T[D],A[N],B[N],C[N];
	for(int d=0; d<D; ++d)	cin>>T[d];
	for(int n=0; n<N; ++n)	cin>>A[n]>>B[n]>>C[n];
	int dp[D][N];
	for(int n=0; n<N; ++n)	dp[0][n]=(A[n]<=T[0]&&T[0]<=B[n]? 0: -(1<<29));
	for(int d=1; d<D; ++d)for(int n=0; n<N; ++n)	dp[d][n]=-(1<<29);
	for(int d=1; d<D; ++d)for(int n=0; n<N; ++n)for(int i=0; i<N; ++i){
		if(A[i]<=T[d]&&T[d]<=B[i])	dp[d][i]=max(dp[d][i], dp[d-1][n]+abs(C[n]-C[i]));
	}
	int ans=0;
	for(int i=0; i<N; ++i)	ans=max(ans, dp[D-1][i]);
	cout << ans << endl;
}