4709 - 提高:树状数组:【例 3】校门外的树

通过次数

20

提交次数

37

Time Limit : 1 秒
Memory Limit : 256 MB

校门外有很多树,学校决定在某个时刻在某一段种上一种树,保证任一时刻不会出现两段相同种类的树,现有两种操作:

K=1,读入 l,r 表示在 l 到 r 之间种上一种树,每次操作种的树的种类都不同;

K=2,读入 l,r 表示询问 l 到 r 之间有多少种树。

注意:每个位置都可以重复种树。

Input

第一行 n,m 表示道路总长为 n,共有 m 个操作;

接下来 m 行为 m 个操作。

Output

对于每个 k=2 输出一个答案。

Examples

Input

5 4
1 1 3
2 2 5
1 2 4
2 3 5

Output

1
2

Hint

数据范围与提示:

对于 20% 的数据,1≤n,m≤100;

对于 %60% 的数据,1≤n≤10^3,1≤m≤5×10^4

对于 %100% 的数据,1≤n,m≤5×10^4 ,保证 l,r>0。