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

F. 源石虫

单点时限: 1.0 sec

内存限制: 512 MB

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

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

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

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

输入格式

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

第二行,n 个整数,第 i 个整数 wi 表示击杀第 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