#include <stdio.h>
int main(void) {
int n, m; //油漆罐的数量与加色操作的次数
scanf("%d%d", &n, &m);
int diff1[2000005] = {0};
int diff2[2000005] = {0};
int diff3[2000005] = {0};
int l, r, k;
for (int j = 0; j < m; j++) {
scanf("%d%d%d", &l, &r, &k);
l--, r--;
if (k == 1) {
diff1[l] += 1;
diff1[r + 1] -= 1;
} else if (k == 2) {
diff2[l] += 1;
diff2[r + 1] -= 1;
} else if (k == 3) {
diff3[l] += 1;
diff3[r + 1] -= 1;
}
}
int count1 = 0, count2 = 0, count3 = 0;
int ans = 0;
for (int i = 0; i < n; i++) {
count1 += diff1[i];
count2 += diff2[i];
count3 += diff3[i];
if (count1 > 0 && count2 > 0 && count3 == 0) {
ans++;
}
}
printf("%d", ans);
return 0;
}