Bajtazar 准备粉刷围栏。他已经准备好了 $n$ 罐白漆,并将它们排成一排,编号从 $1$ 到 $n$。他想使用这些油漆,但他不想把围栏刷成白色。他请来了调色专家,专家拥有三种颜料:黄色、蓝色和红色。他们执行了 $m$ 次操作,其中第 $i$ 次操作是向第 $l_i$ 罐到第 $r_i$ 罐(包含两端)之间的所有油漆中添加某种颜料。
油漆的最终颜色取决于至少被添加过一次的颜料集合。颜料混合遵循下表和图示:
| 颜料 | 颜色 |
|---|---|
| 无 | 白色 |
| 黄色 | 黄色 |
| 蓝色 | 蓝色 |
| 红色 | 红色 |
| 黄色 + 蓝色 | 绿色 |
| 黄色 + 红色 | 橙色 |
| 蓝色 + 红色 | 紫色 |
| 黄色 + 蓝色 + 红色 | 棕色 |
Bajtazar 想用一种颜色粉刷围栏。经过考虑,他选择了绿色,因为它让他联想到在算法竞赛中偶尔能看到的“OK”或“Accepted”判决。他想知道现在有多少罐油漆是绿色的。请帮他计算一下!
输入格式
输入的第一行包含两个整数 $n$ 和 $m$ ($1 \le n, m \le 10^6$),分别表示围栏中油漆罐的数量和调色专家执行的操作次数。
接下来的 $m$ 行,每行包含三个整数 $l_i, r_i$ 和 $k_i$ ($1 \le l_i \le r_i \le n, 1 \le k_i \le 3$),表示第 $i$ 次操作是向第 $l_i$ 罐到第 $r_i$ 罐(包含两端)添加颜料,其中颜料为黄色 ($k_i = 1$)、蓝色 ($k_i = 2$) 或红色 ($k_i = 3$)。
输出格式
输出一个整数,表示所有操作完成后绿色油漆罐的数量。
样例
输入 1
9 5 2 8 1 4 5 2 6 7 3 5 6 2 1 2 2
输出 1
3
说明 1
各罐油漆的颜色依次为:蓝色、绿色、黄色、绿色、绿色、棕色、橙色、黄色和白色。因此,绿色油漆出现在三罐中。