你将举办一场画展。在展览中,你需要将一些画作放入画框中,并将它们排成一排进行展示。
共有 $N$ 幅候选画作,编号为 $1$ 到 $N$。第 $i$ 幅画作($1 \le i \le N$)的大小为 $S_i$,价值为 $V_i$。
此外,共有 $M$ 个画框,编号为 $1$ 到 $M$。第 $j$ 个画框($1 \le j \le M$)的大小为 $C_j$。只有大小不超过 $C_j$ 的画作才能放入第 $j$ 个画框中。每个画框最多只能放入一幅画作。
所有要展示的画作都必须放入画框中。为了美观,它们必须满足以下条件:
- 对于任意相邻的两幅画作,右侧画作所在画框的大小必须至少等于左侧画作所在画框的大小。
- 对于任意相邻的两幅画作,右侧画作的价值必须至少等于左侧画作的价值。
你希望尽可能多地展示画作。
请编写一个程序,在给定画作数量、画框数量以及它们的大小和价值的情况下,计算出最多可以展示的画作数量。
输入格式
从标准输入读取以下数据:
$N \ M$ $S_1 \ V_1$ $\vdots$ $S_N \ V_N$ $C_1$ $\vdots$ $C_M$
输出格式
将结果输出到标准输出。输出应包含最多可以展示的画作数量。
数据范围
- $1 \le N \le 100\,000$
- $1 \le M \le 100\,000$
- $1 \le S_i \le 1\,000\,000\,000$ ($1 \le i \le N$)
- $1 \le V_i \le 1\,000\,000\,000$ ($1 \le i \le N$)
- $1 \le C_j \le 1\,000\,000\,000$ ($1 \le j \le M$)
子任务
- (10 分) $N \le 10, M \le 10$
- (40 分) $N \le 1000, M \le 1000$
- (50 分) 无附加限制
样例
样例输入 1
3 4 10 20 5 1 3 5 4 6 10 4
样例输出 1
2
说明 1
在此样例中,你可以通过从左到右排列(画作 2,画框 2),(画作 1,画框 3)来展示 2 幅画作。由于无法展示 3 幅或更多画作,输出 2。这里,(画作 $i$,画框 $j$)表示将画作 $i$ 放入画框 $j$ 中。
样例输入 2
3 2 1 2 1 2 1 2 1 1
样例输出 2
2
样例输入 3
4 2 28 1 8 8 6 10 16 9 4 3
样例输出 3
0
样例输入 4
8 8 508917604 35617051 501958939 840246141 485338402 32896484 957730250 357542366 904165504 137209882 684085683 775621730 552953629 20004459 125090903 607302990 433255278 979756183 28423637 856448848 276518245 314201319 666094038 149542543
样例输出 4
3