#include<iostream>
using namespace std;

int z(int x){
	if(x<0)x=-x;
	return x;
}

int main(){
	int d,n,a[200],b[200],c[200],t[200],dp[200][200];
	scanf("%d%d",&d,&n);
	for(int i=0;i<d;i++)scanf("%d",&t[i]);
	for(int i=0;i<n;i++)scanf("%d%d%d",&a[i],&b[i],&c[i]);
	for(int i=0;i<200;i++)for(int j=0;j<200;j++)dp[i][j]=-1;
	for(int j=0;j<n;j++)if(a[j]<=t[0]&&t[0]<=b[j])dp[0][j]=0;
	for(int i=1;i<d;i++){
		for(int j=0;j<n;j++){
			for(int k=0;k<n;k++){
				int e=-1;
				if(dp[i-1][k]!=-1&&a[j]<=t[i]&&t[i]<=b[j])e=dp[i-1][k]+z(c[k]-c[j]);
				if(e>dp[i][j])dp[i][j]=e;
			}
		}
	}
	int ans=0;
	for(int j=0;j<n;j++){
		if(dp[d-1][j]>ans)ans=dp[d-1][j];
	}
	printf("%d\n",ans);
}