I. Блинчик и рисование
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Тюлень по имени Блинчик учится в первом классе звериной школы, и сегодня проходит урок рисования на его любимую тему — ученики будут рисовать морских обитателей. Учительница задала Блинчику нарисовать картину, на которой плавают ровно $$$m$$$ рыб. У Блинчика есть $$$n$$$ разноцветных карандашей, которыми он может рисовать рыб. Для каждой рыбы $$$X$$$ на картине, если она нарисована карандашом цвета $$$i$$$, то за неё учительница поставит Блинчику в дневник $$$a_i - k_X$$$ звёздочек, где $$$k_X$$$ — количество рыб цвета $$$i$$$, кроме $$$X$$$, а если $$$a_i \lt k_X$$$, то учительница не примет работу.

Помогите Блинчику получить как можно больше звёздочек в дневнике.

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

Первая строка входных данных содержит два целых числа $$$n$$$ и $$$m$$$ ($$$1 \le n \le 2 \cdot 10^5$$$, $$$1 \le m \le 10^9$$$) — количество карандашей и рыб на картине соответственно.

Вторая строка входных данных содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \le a_i \le 10^9$$$) — изначальное количество звёздочек за рыбу цвета $$$i$$$.

Гарантируется, что существует картина, которую учительница примет. Если подходящих ответов несколько, выведите любой из них.

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

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

Во второй строке выведите $$$n$$$ целых чисел — количество рыб цвета $$$1, 2, \ldots, n$$$ на картине соответственно.

Примеры
Входные данные
5 8
3 1 4 1 5
Выходные данные
20
1 1 2 1 3
Входные данные
3 8
3 2 2
Выходные данные
5
3 3 2 
Входные данные
3 9
1 2 3
Выходные данные
0
2 3 4 
Входные данные
5 14
2 2 3 2 2
Выходные данные
5
3 2 3 3 3
Примечание

Рассмотрим первый пример. Здесь Блинчик может нарисовать одну рыбу цвета $$$1$$$, одну рыбу цвета $$$2$$$, две рыбы цвета $$$3$$$, одну рыбу цвета $$$4$$$ и три рыбы цвета $$$5$$$.

  • За рыбу цвета $$$1$$$ он получит $$$3 - 0 = 3$$$ звёздочки, так как больше рыб цвета $$$1$$$ нет;
  • За рыбу цвета $$$2$$$ он получит $$$1 - 0 = 1$$$ звёздочку, так как больше рыб цвета $$$2$$$ нет;
  • За каждую рыбу цвета $$$3$$$ он получит $$$4 - 1 = 3$$$ звёздочки, так как для каждой из этих рыб, кроме неё, есть ровно одна рыба цвета $$$3$$$;
  • За рыбу цвета $$$4$$$ он получит $$$1 - 0 = 1$$$ звёздочку, так как больше рыб цвета $$$4$$$ нет;
  • За каждую рыбу цвета $$$5$$$ он получит $$$5 - 2 = 3$$$ звёздочки, так как для каждой из этих рыб, кроме неё, есть ровно две рыбы цвета $$$5$$$.

Итого Блинчик получит $$$3 + 1 + 2 \cdot 3 + 1 + 3 \cdot 3 = 20$$$ звёздочек. Можно показать, что больше $$$20$$$ звёздочек в первом примере получить невозможно.