B. Арпа и список чисел
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Арпа нашел список из n чисел. Он считает, что список плохой, если и только если он не пустой и НОД (см. примечания для пояснения) чисел в списке равен 1.

Арпа может выполнять следующие два типа операций:

  • Выбрать число и удалить его, стоимость операции равна x,
  • Выбрать число и увеличить его на 1, стоимость операции равна y.

У Арпы нет ограничений на количество применений второй операции на одно и то же число.

Помогите Арпе найти минимально возможную стоимость сделать список хорошим.

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

Первая строка содержит три целых числа n, x и y (1 ≤ n ≤ 5·105, 1 ≤ x, y ≤ 109) — число элементов в списке и числа x и y.

Вторая строка содержит n целых чисел a1, a2, ..., an (1 ≤ ai ≤ 106) — элементы списка.

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

Выведите одно число: минимальную стоимость сделать лист хорошим.

Примеры
Входные данные
4 23 17
1 17 17 16
Выходные данные
40
Входные данные
10 6 2
100 49 71 73 66 96 8 60 41 63
Выходные данные
10
Примечание

В первом примере число 1 должно быть удалено (со стоимостью 23), а число 16 должно быть увеличено на 1 (со стоимостью 17).

НОД (наибольший общий делитель) множества чисел равняется максимальному целому числу, которое делит все числа из множества. Больше информации о НОД здесь.