H. Tony Hawk's Pro Skater
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
stdin
вывод
stdout

Леша обожает игру Tony Hawk's Pro Skater. Некоторые задания в этой игре заключаются в том, что надо исполнять трюки путем нажатия определенных комбинаций клавиш и зарабатывать за это очки: чем больше — тем лучше.

Леша научился исполнять n видов трюков. Однако, чтобы сделать игру более интересной, создатели предусмотрели следующее: стоимость каждого трюка уменьшается по мере того, как игрок его исполняет (но не может стать меньше 1). Так, если выполнить i-ый трюк в первый раз, игрок заработает ai очков, если во второй — очков, и т.д.: k-ое исполнение будет стоить очков. Исполнение трюка какого-либо одного вида не влияет на стоимости трюков других видов.

Время в игре ограничено, поэтому Леша успеет исполнить лишь m трюков. Какое максимальное количество очков он может набрать?

Входные данные

В первой строке записаны два целых числа n и m (1 ≤ n ≤ 105, 0 ≤ m ≤ 109) — количество видов трюков, которые Леша научился исполнять, и количество трюков, которое он успеет исполнить.

В следующей строке записано n целых чисел a1, ..., an (1 ≤ ai ≤ 109) — начальные стоимости трюков.

В следующей строке записано n целых чисел b1, ..., bn (1 ≤ bi ≤ 109) — величины, на которые уменьшаются стоимости трюков с каждым их исполнением.

Выходные данные

Выведите единственное целое число — максимальное количество очков, которое можно набрать, исполнив m трюков.

Примеры
Входные данные
3 6
9 7 17
1 2 3
Выходные данные
67
Входные данные
3 7
9 7 17
2 1 4
Выходные данные
68