В современном мире существует множество приложений (apptech), которые позволяют получать баллы и небольшие призы за выполнение повседневных задач. Задания с шагомером широко используются во многих таких сервисах: если каждый день проходить $D$ метров, можно получить немного баллов.
Поскольку ежедневно проходить $D$ метров оказывается довольно хлопотно, для тех, кому лень выполнять задания самостоятельно, Ханбёль основал стартап «Стартханбёль», предлагающий услуги по выполнению заданий с шагомером. В «Стартханбёль» сначала установили ячейки хранения с интервалом $1$ метр вдоль дороги, проходящей с востока на запад мимо офиса «Стартханбёль», и присвоили им целочисленные номера. Ячейка, находящаяся на расстоянии $A$ метров к востоку от офиса, имеет номер $A$, на расстоянии $A$ метров к западу — номер $-A$, а ячейка в самом офисе имеет номер $0$.
Вы должны начать от офиса «Стартханбёль», выполнить задания всех клиентов и вернуться в офис. До начала работы все клиенты уже оставили свои телефоны в ячейках с номерами $X_i$. Вам нужно подойти к ячейке $X_i$, взять телефон, затем пройти не менее $D$ метров и вернуть телефон в ту же ячейку $X_i$. У вас достаточно большой рюкзак, поэтому вы можете одновременно переносить несколько телефонов. Ваш маршрут учитывается как рабочее время, поэтому вы должны двигаться только по дороге.
Напишите программу, которая вычислит минимальное расстояние, которое необходимо пройти, чтобы выполнить задания всех клиентов и вернуться в офис.
Входные данные
В первой строке даны два целых числа $N$ (количество клиентов) и $D$ (минимальное расстояние для выполнения задания), разделённых пробелом. ($1 \leq N \leq 1\,000\,000$; $1 \leq D \leq 10^9$)
Во второй строке даны $N$ целых чисел $X_i$, разделённых пробелами, обозначающих номера ячеек, где клиенты оставили телефоны. ($-10^9 \leq X_i \leq 10^9$)
Позиции телефонов могут совпадать друг с другом или находиться в том же месте, что и офис «Стартханбёль».
Все входные данные — целые числа.
Выходные данные
В первой строке выведите минимальное расстояние, необходимое для выполнения заданий всех $N$ клиентов и возвращения в офис.
Если ответ не является целым числом, выведите наибольшее целое число, не превосходящее ответ.
Примеры
Входные данные 1
3 5 -8 1 5
Выходные данные 1
36
Примечание
Нижеописанный способ является оптимальным.
- Взять телефон второго клиента.
- Взять телефон третьего клиента.
- Переместиться на $7.5$ метра к востоку от офиса «Стартханбёль», затем вернуться и вернуть телефон третьего клиента.
- Вернуть телефон второго клиента.
- Взять телефон первого клиента.
- Переместиться на $10.5$ метра к западу от офиса «Стартханбёль», затем вернуться и вернуть телефон первого клиента.
- Переместиться в офис «Стартханбёль».