1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<bits/stdc++.h>
using namespace std;
#define rep(a, b) for(int a = 0; a < (b); ++a)
const int LIM=1e6+7;
int T[LIM][3], l[3];
int main() {
	ios_base::sync_with_stdio(0); cin.tie(0);
	int n, m;
	cin >> n >> m;
	rep(i, 3) T[0][i]=-1;
	while(m--) {
		int a, b, k;
		cin >> a >> b >> k; --a; --b; --k;
		T[a][k]=max(T[a][k], b);
	}
	int ans=0;
	rep(i, 3) l[i]=T[0][i];
	rep(i, n) {
		rep(j, 3) l[j]=max(l[j], T[i][j]);
		if(l[0]>=i && l[1]>=i && l[2]<i) ++ans;
	}
	cout << ans << '\n';
}