Bajtogrod 的学校里,所有学生都使用相同的笔记本电脑。学校的一间教室里有几张相同的课桌,它们一张接一张地排列(每张课桌都比前一张离黑板稍远)。课间休息前,有 $n$ 名学生来到教室,他们以某种方式坐在课桌旁,每人都拿出了自己的笔记本电脑。课间休息后,又有 $m$ 名学生进入教室。
老师希望每位学生都能坐在课桌旁并拿出自己的笔记本电脑。可能有多名学生坐在同一张课桌旁,但同一张课桌上的笔记本电脑不能前后放置(否则会遮挡屏幕),也不能叠放。为了最大限度地降低跌落风险,任何笔记本电脑都不能超出课桌边缘。笔记本电脑的边缘必须与课桌边缘平行(不能“斜着”放置)。
形式上,我们可以将课桌看作平面上尺寸为 $w \times s$ 的矩形(其中 $w$ 是平行于黑板的边长),将笔记本电脑看作尺寸为 $d \times s$ 的矩形(其中 $s < d \le w$)。每个笔记本电脑矩形必须完全包含在课桌矩形内,且任意两个笔记本电脑矩形不能有公共点。
在初始的 $n$ 名学生中,有多少人必须移动(换到另一张课桌或在同一张课桌内移动位置),才能使所有 $n + m$ 名学生都能带着他们的笔记本电脑坐在课桌旁?将某人及其笔记本电脑的移动视为一次操作,无论该学生是只移动了一点点,还是换到了教室里完全不同的位置。
考虑多个独立的查询($m$ 的值可能不同)。如果对于某个查询,所有学生无法带着笔记本电脑坐在课桌旁,请指出这一点。
输入格式
输入的第一行包含五个正整数 $n, q, d, l, w$ ($1 \le q \le n \le 3000, 1 \le l \le 3000, 1 \le d, w \cdot l \le 10^{18}$)。这些数字依次表示:已经坐在课桌旁的学生人数;查询次数;每台笔记本电脑的长度;课桌数量;每张课桌的长度。课桌编号为 $1$ 到 $l$,学生编号为 $1$ 到 $n$。
接下来的 $n$ 行,每行包含两个整数 $k_i, p_i$ ($1 \le k_i \le l, 0 \le p_i \le w-d$,对于 $i = 1, \dots, n$),表示第 $i$ 位学生所坐的课桌编号,以及其笔记本电脑左边缘距离该课桌左端的距离。保证初始的学生及其笔记本电脑的放置满足题目条件。
接下来的一行包含 $q$ 个整数 $m_1, \dots, m_q$ ($1 \le m_i \le 10^{18}$),描述对程序的查询——第 $i$ 个数字表示一个场景,即在第 $i$ 个查询中,有 $m_i$ 名学生进入教室,此时教室里已有上述放置好的 $n$ 名学生。每个查询都是独立的。
输出格式
你的程序应输出 $q$ 行。第 $i$ 行应包含一个整数,作为第 $i$ 个查询的答案。如果无论学生如何移动,都无法使所有人带着笔记本电脑坐在课桌旁,则结果应为 $-1$。否则,结果应为必须移动的学生的最少人数,以使所有 $n + m_i$ 名学生都能坐在课桌旁。
尽管初始位置 $p_i$ 是整数,但学生可以移动到非整数位置。
样例
样例输入 1
4 3 3 2 10 2 1 1 2 1 6 2 5 2 1 3
样例输出 1
2 1 -1
说明 1
对于第一个查询:如果第二位学生向左移动到第一张课桌的左端,第四位学生移动到第二张课桌的右端,即可满足条件,如下图所示。
子任务
测试集分为以下子任务。每个子任务的测试由一组或多组独立的测试用例组成。
| Podzadanie | Warunki | Liczba punktów |
|---|---|---|
| 1 | $n \le 20$ | 17 |
| 2 | $n \le 500$ | 34 |
| 3 | $n \le 3000$ | 49 |