#include <iostream>
#include <algorithm>
#include <cmath>

constexpr int MAX=200;

int d,n;

int t[MAX];
int a[MAX],b[MAX],c[MAX];

int dp[MAX/*テヲツ猟・テ」ツ?ォテ」ツ?。*/][MAX/*テ、ツサツ甘ヲツ猟・*/];

int main() {
	std::cin>>d>>n;
	for(int i=0;i<d;++i)
		std::cin>>t[i];
	for(int i=0;i<n;++i)
		std::cin>>a[i]>>b[i]>>c[i];

	for(int i=1;i<d;++i){
		for(int j=0;j<n;++j){
			if(a[j]<=t[i]&&t[i]<=b[j]){
				for(int k=0;k<n;++k){
					if(a[k]<=t[i-1]&&t[i-1]<=b[k])
						dp[i][j]=std::max(dp[i][j],dp[i-1][k]+std::abs(c[j]-c[k]));
				}
			}
		}
	}
	int ans=0;
	for(int i=0;i<n;++i)
		ans=std::max(ans,dp[d-1][i]);
	std::cout<<ans<<std::endl;
	return 0;
}