#include <iostream> #include <vector> using namespace std; int main() { int n, m; cin >> n >> m; vector<int> diff1(n + 2, 0); // 黄色(1) vector<int> diff2(n + 2, 0); // 蓝色(2) vector<int> diff3(n + 2, 0); // 红色(3) while (m--) { int l, r, k; cin >> l >> r >> k; if (k == 1) { diff1[l]++; diff1[r + 1]--; } else if (k == 2) { diff2[l]++; diff2[r + 1]--; } else if (k == 3) { diff3[l]++; diff3[r + 1]--; } } int cnt = 0; int current1 = 0, current2 = 0, current3 = 0; for (int i = 1; i <= n; i++) { current1 += diff1[i]; current2 += diff2[i]; current3 += diff3[i]; bool hasYellow = current1 > 0; bool hasBlue = current2 > 0; bool hasRed = current3 > 0; if (hasYellow && hasBlue && !hasRed) { cnt++; } } cout << cnt << endl; return 0; }