题目描述

赛诺喜欢打七圣召唤,

赛诺最近在打训练场,

训练场中有$n$只原魔,一开始每只原魔的血量均为初始生命值$K$,

赛诺今天想尝试一种新的角色"SeNo","SeNo"只会进行普通物理攻击,其每次攻击可以视为一个对群攻击,
具体的:每次攻击赛诺会给出一个区间$[l,r]$和伤害值$v$,"SeNo"会对区间中的所有原魔进行攻击,对每只原魔造成$v$点伤害值,

如果当前原魔生命值不大于"SeNo"造成的伤害$v$,那么这只原魔就会进入"死亡状态",否则这只原魔的生命值会减少$v$点。

赛诺想测试一下"SeNo"的强度,因此他只会使用"SeNo"这一名角色。对局开始,第一回合赛诺先手,他会使用"SeNo"连续进行$m$次攻击,第$i$轮攻击赛诺会给出所需的参数$l_i, r_i, v_i$,

为了加大对局难度,赛诺还对训练场进行了一定的设置:赛诺每轮攻击开始之前,场面上所有处于"死亡状态"的原魔均会满血复活,即恢复到生命值为$K$的状态。

赛诺想知道,每次他的攻击之后,场面上有多少只原魔处于"死亡状态"。


输入格式

第一行包含三个正整数$n,m,K\ (1\leq n,m \leq 10^5, 1\leq k \leq 10^9)$,表示原魔的数量、赛诺的攻击次数,原魔的初始生命值;

接下来$m$行,每行包含三个正整数$l, r, v\ (1\leq l \leq r \leq n, 1\leq v \leq 10^9)$,表示每轮攻击"SeNo"攻击的区间及伤害值;


输出格式

输出$m$行,每行一个整数,表示当前攻击之后场面上有多少只原魔处于"死亡状态"。


样例数据

输入

样例一
10 4 5
1 3 3
2 5 2
1 10 2
1 10 1

样例二
10 10 10
5 10 10
1 5 5
4 10 2
3 10 5
1 7 10
3 9 7
1 10 2
5 10 7
6 10 7
4 9 11

输出

样例一
0
2
1
2

样例二
6
0
0
3
7
2
0
4
2
6

备注


操作

评测记录

优秀代码

信息

时间限制: 6s
内存限制: 1024MB
评测模式: Normal

题解