#OLD630. 冲刺冲刺冲刺

冲刺冲刺冲刺

Description

小牛是玩梗大手子,天天上网冲浪的他似乎把脑子冲坏了。

以至于他满脑子都是:

冲刺冲刺冲刺,欧系给欧系给欧系给,不要停下来,爷么要战斗,哈比下,勇敢牛牛不怕困难,yyds,救敏sos真下头

现在他又开始当起了网络警察👮‍,每日审查网络烂梗,他发誓必定要摧毁所有烂梗,让这个世界只留下好梗,这样就能拯救世界了。

————————————————————————————————

换句话说:

小牛面前有 n 个网络大梗,他会根据顺序一一审查。小牛初始抽象值 为 0,消耗抽象值能摧毁烂梗。

每个梗分为好梗还是烂梗,好梗有一个优越值,烂梗则是有防御值。

如果当前审查的梗是好梗,小牛可以选择享受这个梗,获得优越感,同时使抽象值增加 相应数值。

如果当前审查的梗是烂梗,小牛就会当场红温,怒不可赦地冲刺冲刺冲刺,他可以消耗 同等于烂梗防御值的抽象值来击破烂梗,如果不足则不可击破。

除此之外,小牛可以在任何时候歌颂希望之花,每秒恢复 x 点抽象值。除了歌颂的耗时,其他的操作都可以视为不记时间。

请问小牛最快多久可以摧毁所有烂梗呢?

Format

Input

输入一个 n 和 x,表示梗数量和恢复值。

之后一行 n 个数,每个数di表示优越值或者防御值(取决于当前位置是什么梗)

之后再一行 n 个数,只有 0 或 1,如果是 0 表示烂梗,1 则表示好梗。

0n100000 0 \leq n \leq 100000

0di200 0 \leq di \leq 200

1x50 1 \leq x \leq 50

Output

一个数,为最快摧毁烂梗的时间。

Samples

5 1
1 2 3 4 5
1 0 0 0 0
13

Hint