新春漫步
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

在一个一维坐标轴上有 个点,坐标分别为 初始的时候每个点上都有一个障碍物,坐标为 上的障碍物坚固程度为 现在 次操作或者询问:

  1. 将坐标为 上的障碍物的坚固程度减去 ,若减去后该障碍物的坚固程度小于等于,则该障碍物消失。

  2. 询问若一个人从坐标为 的位置向右走,他最多可以到达哪个位置?(如果到达存在障碍物的坐标点或者到达坐标点 则停止向右走)
提示:
1.本题输入数据较多,请使用较快的读入方式
2.若评测较长时间,请选手耐心等待,出题人在此倒茶啦~

输入描述:

第一行两个整数  
第二行 个整数 接下来  行,每行三个整数或者两个整数,表示操作或者询问。 
若该行第一个数为 ,后面会接着两个整数 ,表示操作。 
若该行第一个数为 ,后面会接着一个整数 ,表示询问。
数据范围:

输出描述:

输出若干行,对于每一个询问操作,输出对应的答案。
示例1

输入

复制
5 4
1 2 3 4 5
2 3
1 3 3
2 2
2 3

输出

复制
3
2
4