#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;
}