Монокарп играет в новую компьютерную игру. Действие в ней происходит на горизонтальной оси $$$oX$$$.
На очередном уровне герой игры находится в точке $$$0$$$ и должен попасть в точку $$$n$$$. Для этого он может выполнять два типа перемещений:
Обратите внимание, что в результате перемещений герой игры может оказаться левее точки $$$0$$$ или правее точки $$$n$$$, это допустимо, ведь игровая прямая бесконечна.
Перед вами стоит задача определить минимальное время, за которое герой игры может добраться до точки $$$n$$$, изначально находясь в точке $$$0$$$.
В первой строке следуют четыре целых числа $$$n$$$, $$$a$$$, $$$b$$$ и $$$d$$$ ($$$1 \le n \le 1\,000$$$, $$$1 \le a \le 1\,000$$$, $$$1 \le b \le 1\,000$$$, $$$1 \le d \le n$$$) — точка, в которую должен попасть герой игры, время, которое необходимо для перемещения в соседнюю точку, время, которое необходимо для совершения прыжка, а также расстояние, на которое можно переместиться во время прыжка.
Выведите одно целое число — минимальное время, за которое герой игры может добраться до точки $$$n$$$, изначально находясь в точке $$$0$$$.
9 7 6 5
19
20 5 10 15
35
4 3 5 2
10
В первом примере герой игры может, например, сначала переместиться влево в соседнюю точку за $$$7$$$ секунд. После этого он окажется в точке $$$-1$$$. Затем он может два раза прыгнуть вправо, оказавшись сначала в точке $$$4$$$, а затем в точке $$$9$$$. На прыжки он потратит $$$12$$$ секунд. Таким образом, весь путь он преодолеет за $$$7 + 12 = 19$$$ секунд.
Во втором примере герой игры может, например, сначала прыгнуть один раз вправо. После этого он окажется в точке $$$15$$$, потратив на это $$$10$$$ секунд. Затем ему нужно $$$5$$$ раз переместиться вправо в соседнюю клетку. После этого он окажется в точке $$$20$$$. Суммарное затраченное время будет равно $$$10 + 5 \cdot 5 = 35$$$ секунд.
В третьем примере герою игры нужно два раза прыгнуть вправо. После этого он окажется в точке $$$4$$$ за $$$10$$$ секунд.