#P14152. 千手百眼,天下人间

千手百眼,天下人间

题目背景

影小姐在创作小说《转生成为八重宫司,然后天下无敌》。

但是由于神子不定时会过来贴贴,所以她不得不在神子来到时对所写的文稿进行掩饰甚至撤销,所以导致整个写作过程乱七八糟。

现在她很生气,请你在她生气的拔刀斩了你之前回答她的所有问题。

题目描述

我们将提瓦特文抽象成正整数数字。

初始时影有序列 AA 作为草稿,长度为 nn

但是写着写着,她心情总是飘忽不定的变化,所以草稿也会随之变化。

有以下三种可能的事件:

  1. 在第 tit_i 时刻,将 lil_irir_i 的所有值增加 kik_i
  2. 在第 tit_i 时刻,查询区间 lil_irir_i 之间所有数的最大值。
  3. 在第 tit_i 时刻,将 lil_irir_i 这些时间点发生的三种事件全部撤销。

在影写完冷静下来之后,请你对于所有未被撤销的查询进行回答。

输入格式

第一行输入两个正整数 n,mn,m

第二行输入 nn 个整数,表示序列 AA

接下来 mm 行,每行输入第一个元素 optopt 作为操作类型。

  • opt=1opt=1,则按顺序输入 ti,li,ri,kit_i,l_i,r_i,k_i,表示一次修改,满足 109ki109-10^9\le k_i\le10^9

  • opt=2opt=2,则按顺序输入 ti,li,rit_i,l_i,r_i,表示一次查询。

  • opt=3opt=3,则按顺序输入 ti,li,rit_i,l_i,r_i,表示一次撤销,满足 liri<til_i\le r_i<t_i

输出格式

第一行输出一个整数 cntcnt,表示有效的查询次数。

接下来 cntcnt 行,每行一个整数作为答案。

注意:你所输出的答案应按照时间顺序,若两个查询时间相同,则优先回答操作编号较小的那次查询,同理,两个操作时间相同时优先执行编号小的操作。

3 5
0 0 0 
1 1 1 3 5
2 2 1 3
3 3 1 1
2 4 1 3
1 5 1 1 10
2
0
0
3 4
1 2 3
1 1 1 3 5
2 2 1 3
3 3 2 2
2 4 1 3
1
8

提示

对于前 10%10\% 的数据,满足 n,m10n,m\le10

对于另 20%20\% 的数据,满足不含有撤销操作。

对于另 10%10\% 的数据,满足没有修改操作。

对于 100%100\% 的数据,满足 $1\le n,m\le5\times10^5,-10^9\le A_i\le10^9,1\le t_i \le 10^{18}$。