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(); } }