镇上新开了一家面包店!快来尝尝 Dodo 面包店的美味蛋糕吧!
面包师准备了 $n$ 个蛋糕,第 $i$ 个蛋糕的甜度为 $a_i$。它们按给定的顺序摆放在一张长桌上。有 $q$ 个人排队购买城里最好的蛋糕。每个人的订单形式如下:“我想要购买 $d_i$ 个甜度至少为 $s_i$ 的蛋糕。”
Dorijan 服务顾客的方式很特别。他会从桌子上提供 $d_i$ 个连续的蛋糕。为了保持桌子尽可能美观,他只会从桌子的左边缘或右边缘提供蛋糕。他注意到这样很难服务很多顾客,因此在服务一位顾客之前,他会先从桌子的边缘吃掉一些蛋糕(可能不吃)。
如果 Dorijan 无法满足某位顾客的需求,他就会关门歇业。在他关门之前,他最多能服务多少位顾客?
输入格式
第一行包含两个整数 $n, q$ ($1 \le n \le 5\,000, 1 \le q \le 2 \cdot 10^5$),分别表示蛋糕的数量和排队的人数。
第二行包含 $n$ 个整数 $a_i$ ($1 \le a_i \le 10^9$),其中 $a_i$ 是第 $i$ 个蛋糕的甜度。
接下来的 $q$ 行中,每行包含两个整数 $d_i, s_i$ ($1 \le d_i \le n, 1 \le s_i \le 10^9$),表示队列中第 $i$ 位顾客的订单。
输出格式
在唯一的一行中输出 Dorijan 可以服务的顾客数量。
子任务
| 子任务 | 分值 | 数据范围 |
|---|---|---|
| 1 | 21 | $n, q \le 100$ |
| 2 | 31 | $d_1 = d_2 = \dots = d_q = 1$ |
| 3 | 58 | 无附加限制 |
样例
输入 1
5 6 1 2 3 4 5 1 1 1 2 1 3 1 4 1 6 1 5
输出 1
4
输入 2
5 3 1 3 2 2 1 3 1 1 3 2 2
输出 2
2
输入 3
9 5 1 3 2 5 1 4 6 2 1 3 2 2 3 1 1 1 2 1 1
输出 3
4
说明
第三个样例的解释: Dorijan 先从左边吃掉一个蛋糕,然后将接下来的三个甜度分别为 3、2 和 5 的蛋糕提供给第一位顾客。接着他又从左边吃掉一个蛋糕,并将接下来的两个甜度分别为 4 和 6 的蛋糕提供给第二位顾客。第三位顾客得到了右边一个甜度为 1 的蛋糕,第四位顾客得到了最后一个甜度为 2 的蛋糕。不幸的是,Dorijan 没有更多的蛋糕了,所以最后一位顾客只能空手而归。