第八届“英拿科技杯”上海高校金马程序设计联赛暨东华大学邀请赛

F. 源石虫

单点时限: 1.0 sec

内存限制: 512 MB

JK 在玩一个横板2D游戏。游戏中有 $n(1\leq n \leq 2\times 10^6)$ 个源石虫,源石虫有类型 $1$ 和类型 $2$ 这两种类型。所有源石虫可以视作在 $x$ 轴上排成一列,第 $i$ 个源石虫在坐标 $x = i$ 处。

JK 从 $x = 0$ 处出发,不断向 $x$ 轴正方向走。每次遇到源石虫,她可以选择是否击杀源石虫,击杀第 $i$ 个源石虫后可以获得 $w_i (1\leq w_i \leq 10^9)$ 块金币。

每次击杀类型 $1$ 的源石虫后,就不能击杀随后的 $a(0 \leq a \leq n)$ 个源石虫中类型 $1$ 的源石虫。每次击杀类型 $2$ 的源石虫后,就不能击杀随后的 $b(0 \leq b \leq n)$ 个源石虫中类型 $2$ 的源石虫。

JK 最多能获得多少块金币?

输入格式

第一行,三个整数 $n, a, b$。

第二行,$n$ 个整数,第 $i$ 个整数 $w_i$ 表示击杀第 $i$ 个源石虫后可以获得的金币数。
第三行,$n$ 个整数,表示第 $i$ 个源石虫的类型。若为 $1$,则表示类型 $1$ 的源石虫,若为 $2$,则表示类型 $2$ 的源石虫。

输出格式

一个整数,表示 JK 最多能获得的金币数量。

样例

Input
9 2 3
10 2 2 5 4 1 1 1 9
1 1 1 1 2 2 1 2 2
Output
29