import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int m = scanner.nextInt();
// 为三种颜色分别创建差分数组
int[] yellow = new int[n + 2]; // 1
int[] blue = new int[n + 2]; // 2
int[] red = new int[n + 2]; // 3
for (int i = 0; i < m; i++) {
int l = scanner.nextInt();
int r = scanner.nextInt();
int k = scanner.nextInt();
// 根据颜色更新差分数组
if (k == 1) {
yellow[l]++;
yellow[r + 1]--;
} else if (k == 2) {
blue[l]++;
blue[r + 1]--;
} else if (k == 3) {
red[l]++;
red[r + 1]--;
}
}
// 计算前缀和,得到每个油漆罐的颜色情况
int countGreen = 0;
int y = 0, b = 0, r = 0;
for (int i = 1; i <= n; i++) {
y += yellow[i];
b += blue[i];
r += red[i];
// 判断是否为绿色:有黄色和蓝色,没有红色
if (y > 0 && b > 0 && r == 0) {
countGreen++;
}
}
System.out.println(countGreen);
scanner.close();
}
}