#T7556. 校门外的灯

校门外的灯

题目描述

某校大门外长度为 LL 的马路上有一排路灯, 每两个相邻的灯之间的间隔都是 11 米。我们可以把马路看成一个数轴, 马路的一端在数轴 00 的位置, 另一端在 LL 的位置; 数轴上的每个整数点, 即 0,1,2,,L0, 1, 2, …, L 都有一个路灯, 依次编号为 0,1,L0, 1…, L。每个灯拉动开关可以按照 关-红-黄-绿-蓝-关 的顺序变化, 最初所有路灯都是关着的

现在有 nn 次行动顺序, 每次标出当前行动的含义以及开始和结束位置。每种行动的具体含义如下:

  • 1 s t:把编号 ss 灯到编号 tt 灯之间所有的灯(包含编号 ss 灯和编号 tt 灯)都变成关闭状态;
  • 2 s t:把编号 ss 灯到编号 tt 灯之间所有的开着的灯(包含编号 ss 灯和编号 tt 灯)都变成红色或绿色, 只要灯变成红色或绿色时就停止拉动开关;
  • 3 s t:把编号 ss 灯到编号 tt 灯之间所有的灯(包含编号 ss 灯和编号 tt 灯)都变成蓝色或黄色, 只要灯变成蓝色或黄色时就停止拉动开关;
  • 4 s t:把编号 ss 灯到编号 tt 灯之间所有的灯(包含编号 ss 灯和编号 tt 灯), 按照是第几个灯按几下的顺序拉动开关, 本次行动中位置 ss 上的灯是第一个灯, 位置 tt 上的灯是最后一个灯。

请计算:当所有行动顺序结束后处于关闭状态的灯的数量。

输入格式

第一行, 包含两个整数 L,nL, n

接下来 nn 行, 每行包含三个整数 op,s,t,op, s, t, 其中 opop 表示是那种行动, s,ts, t 分别表示行动的开始和结束位置。

输出格式

输出一行, 包含一个整数, 表示当所有行动顺序结束后处于关闭状态的灯的数量。

样例1

10 2
4 2 8
2 1 9
5

数据范围

1<L10000,n100001\lt L\le 10000,n\le 10000