Byteland 的博物馆里陈列着 $n$ 颗宝石。这些宝石排成一排,从左到右依次编号为 $1, 2, \dots, n$。每颗宝石都有 $n$ 种不同颜色中的一种。第 $i$ 个位置(从左往右数)上的宝石颜色为 $c_i$,价值为 $v_i$。
大盗 Grammy 想要从博物馆中偷走一些宝石。博物馆安装了一些非常昂贵的警报器,不幸的是,这些警报器无法被破解。
Grammy 发明了一种装置:一个机械手,可以在不触发任何警报的情况下抓取一些宝石。机械手将从第 $s$ 个位置开始,逐个向右移动,在整个抓取过程中抓取机械手下方所有的宝石(包括第 $s$ 个位置的宝石),并可以在 Grammy 喜欢的任何位置结束。
Grammy 可以很容易地用这个装置拿走所有的宝石,但她知道拿走的越多,处理起来就越麻烦。她决定最安全的方法是拿走一组宝石,使得其中没有两颗宝石颜色相同。但她很快意识到,这样做会错过许多宝石,所以她希望控制装置总共跳过不超过 $k$ 颗宝石,即被跳过的宝石将不会被拿走。
Grammy 在编程竞赛中输掉了大部分钱,所以她可能会进行多次抓取。共有 $m$ 个事件,详细说明如下:
- “1 $x$ $c$ $v$” ($1 \le x \le n, 1 \le c \le n, 1 \le v \le 10^9$):博物馆将第 $x$ 个位置的宝石替换为颜色为 $c$、价值为 $v$ 的宝石。
- “2 $s$ $k$” ($1 \le s \le n, 0 \le k \le 10$):Grammy 计划进行一次新的抓取。她将控制机械手从第 $s$ 个位置开始,且总共跳过不超过 $k$ 颗宝石。请编写一个程序,计算她在这次抓取中能拿到的宝石总价值的最大值。注意,在下一次事件发生前,博物馆总是会将所有被偷走位置的宝石补齐。
输入格式
输入仅包含一组数据。
第一行包含两个整数 $n$ 和 $m$ ($1 \le n, m \le 200\,000$),分别表示宝石的数量和事件的数量。
接下来的 $n$ 行中,第 $i$ 行 ($1 \le i \le n$) 包含两个整数 $c_i$ 和 $v_i$ ($1 \le c_i \le n, 1 \le v_i \le 10^9$),描述第 $i$ 颗宝石。
接下来的 $m$ 行,每行描述一个上述格式的事件。
输出格式
对于每个第二类事件,输出一行,包含一个整数,表示可以获得的最大宝石总价值。
样例
输入 1
5 6 1 3 2 4 3 1 2 2 3 5 2 1 0 2 1 1 2 1 2 1 4 3 3 2 3 1 2 2 2
输出 1
8 8 12 3 9