C. Настя и неожиданный гость
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Если девушка не идет к Денису, то Денис идет к девушке. Руководствуясь таким принципом, молодой человек вышел из дома, купил цветы и направился к Насте.

По пути от его дома до дома его возлюбленной есть дорога из $$$n$$$ полос, перейти которую за один зеленый свет не всегда возможно. Предвидя это, добрый мэр распорядился поставить в некоторых точках этой дороги островки безопасности. Каждый островок расположен после какой-то полосы, а также в начале и в конце дороги. На них пешеходы могут отдохнуть, набраться сил и дождаться зеленого света.

Денис подошел к левому краю дороги ровно в тот момент, когда загорелся зеленый свет. Мальчик знает, что светофор сначала горит $$$g$$$ секунд зеленым, а потом $$$r$$$ секунд красным, потом опять $$$g$$$ секунд зеленым и так далее.

Формально, дорогу можно представить как отрезок $$$[0, n]$$$. Изначально Денис стоит в точке $$$0$$$. Его задача - попасть в точку $$$n$$$ за минимальное возможное время.

Oн знает множество различных целых чисел $$$d_1, d_2, \ldots, d_m$$$, где $$$0 \leq d_i \leq n$$$  — координаты точек, в которых расположены островки безопасности. Только в одной из этих точек мальчик может находиться в момент, когда горит красный свет.

К сожалению, из-за волнения Денис не всегда может контролировать себя, поэтому сейчас на его передвижения наложены некоторые ограничения:

  • Он обязан двигаться всегда, пока горит зеленый, ведь сложно стоять, когда тебя ждет такая девушка. Денис за $$$1$$$ секунду может изменить свое положение на $$$\pm 1$$$. При этом он должен всегда оставаться внутри отрезка $$$[0, n]$$$.
  • Он может менять направление движения только на островках безопасности (ведь это безопасно). Это означает, что если за предыдущую секунду мальчик изменил свое положение на $$$+1$$$, то если он находится на островке безопасности, он может изменить свое положение на $$$\pm 1$$$, иначе он может изменить свое положение вновь только на $$$+1$$$. Аналогично, если за предыдущую секунду он изменил свое положение на $$$-1$$$, на островке безопасности он может изменить свое положение на $$$\pm 1$$$, а в любой другой точке вновь только на $$$-1$$$.
  • В момент, когда загорается красный, мальчик должен оказаться на каком-то островке безопасности. Он сможет продолжить движение в любом направлении, когда вновь загорится зеленый.

Считается, что Денис перешел дорогу как только его координата станет равна $$$n$$$.

Эта задача оказалась не так проста, ведь возможно, таким способом даже невозможно перейти дорогу. Так как у Дениса все мысли о любви, он не справился решить ее и попросил нас помочь ему в этом. Найдите минимальное возможное время, за которое он сможет перейти дорогу по таким правилам, либо установите, что это сделать невозможно.

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

В первой строке находится два целых числа $$$n$$$ и $$$m$$$ $$$(1 \leq n \leq 10^6, 2 \leq m \leq min(n + 1, 10^4))$$$  — ширина дороги и количество островков безопасности.

Во второй строке находится $$$m$$$ различных целых чисел $$$d_1, d_2, \ldots, d_m$$$ $$$(0 \leq d_i \leq n)$$$  — точки, в которых расположены островки безопасности. Гарантируется, что среди них есть $$$0$$$ и $$$n$$$.

В третьей строке находится два целых числа $$$g, r$$$ $$$(1 \leq g, r \leq 1000)$$$  — время, которое на светофоре горит зеленый свет и время, которое на светофоре горит красный свет.

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

Выведите одно целое число  — минимальное время, за которое Денис может перейти дорогу по всем правилам.

Если перейти дорогу по всем правилам невозможно выведите $$$-1$$$.

Примеры
Входные данные
15 5
0 3 7 14 15
11 11
Выходные данные
45
Входные данные
13 4
0 3 7 13
9 9
Выходные данные
-1
Примечание

В первом тесте оптимальный маршрут такой:

  • за первый зеленый свет дойти до $$$7$$$ и вернуться на $$$3$$$. В этом случае, мы сменим направление движения в точке $$$7$$$, что разрешено, поскольку в этой точке есть островок безопасности. В конце мы окажемся в точке $$$3$$$, где также есть островок безопасности. Следующие $$$11$$$ секунд мы должны подождать красный свет.
  • за второй зеленый свет дойти до $$$14$$$. Снова подождать красный свет.
  • за $$$1$$$ секунду перейти в $$$15$$$. В итоге Денис оказывается в конце дороги.

Всего получается $$$45$$$ секунд.

Во втором тесте невозможно перейти дорогу по всем правилам.