1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>

using namespace std;

uint32_t n, m, l, r, i, green;
uint16_t *cans, k;

int main(void) {
	ios_base::sync_with_stdio(0);
	cin.tie(0);

	cin >> n >> m;
	cans = new uint16_t[n]();
	green = 0;

	for(i = 0; i < m; i++) {
		cin >> l >> r >> k;
		k = 1 << (k-1);
		l--;
		r--;
		while(l <= r)
			cans[l++] |= k;
	}

	for(i = 0; i < n; i++)
		if(cans[i] == 3)
			green++;

	cout << green << '\n';

	return 0;
}