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

Последовательность целых чисел называется красивой если абсолютная разница между любыми двумя соседними числами равна $$$1$$$. Более формально, последовательность $$$s_1, s_2, \ldots, s_{n}$$$ красивая, если $$$|s_i - s_{i+1}| = 1$$$ для всех $$$1 \leq i \leq n - 1$$$.

У Вани есть $$$a$$$ чисел равных $$$0$$$, $$$b$$$ чисел равных $$$1$$$, $$$c$$$ чисел равных $$$2$$$ и $$$d$$$ чисел равных $$$3$$$. Он хочет построить красивую последовательность используя все эти $$$a + b + c + d$$$ чисел.

Оказалось, что это непростая задача и Ваня не справился решить ее. Помогите Ване!

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

В единственной строке находятся четыре неотрицательных целых числа $$$a$$$, $$$b$$$, $$$c$$$ и $$$d$$$ ($$$0 < a+b+c+d \leq 10^5$$$).

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

Если невозможно построить красивую последовательность, удовлетворяющую ограничениям, выведите «NO» (без кавычек) в единственной строке.

Иначе, выведите «YES» (без кавычек) в первой строке. Затем, во второй строке выведите $$$a + b + c + d$$$ целых чисел, разделенных пробелом — найденная красивая последовательность. Среди выведенных чисел должно быть ровно $$$a$$$ чисел, равных $$$0$$$, ровно $$$b$$$ чисел, равных $$$1$$$, ровно $$$c$$$ чисел, равных $$$2$$$ и ровно $$$d$$$ чисел, равных $$$3$$$.

Если существует несколько возможных ответов, вы можете вывести любой из них.

Примеры
Входные данные
2 2 2 1
Выходные данные
YES
0 1 0 1 2 3 2
Входные данные
1 2 3 4
Выходные данные
NO
Входные данные
2 2 2 3
Выходные данные
NO
Примечание

В первом тесте, легко заметить, что последовательность красивая, потому что абсолютная разница между любыми двумя соседними числами равна $$$1$$$. Также, в последовательности ровно два числа, равных $$$0$$$, $$$1$$$, $$$2$$$ и ровно одно число, равное $$$3$$$.

Можно доказать, что невозможно построить красивые последовательности во втором и третьем тесте.