#include <bits/stdc++.h>

using namespace std;
const int MAXN=100001;
int n,m,st[MAXN],et[MAXN],c[MAXN],pre[2*MAXN],res[2*MAXN];

int main()
{
	cin >> n >> m;
	for(int i=1;i<=n;i++) cin >>st[i] >>et[i] >>c[i];
	for(int i=1;i<=m;i++)
	{
		memset(pre,0,sizeof(pre));
		for(int j=1;j<=n;j++) if(c[j]==i) pre[st[j]*2-1]++,pre[et[j]*2]--;
		for(int j=1;j<=2*MAXN-2;j++) pre[j]+=pre[j-1];
		for(int j=1;j<=2*MAXN-2;j++) if(pre[j]>0) res[j]++;
	}
	
	int ans=0;
	for(int i=1;i<=2*MAXN-2;i++) ans=max(ans,res[i]);
	cout << ans;
	return 0;
}