E. Multithreading
ограничение по времени на тест
2 seconds
ограничение по памяти на тест
256 megabytes
ввод
стандартный ввод
вывод
стандартный вывод

Дана следующая параллельная программа. Есть N процессов, i-ый процесс исполняет следующий псевдокод:

repeat ni times
yi := y
y := yi + 1
end repeat

Здесь y — общая переменная. Все остальное для каждого процесса является локальным. Каждое действие, записанное на отдельной строке, является атомарным, т. е. когда процесс исполняет некоторую строку, он не может быть прерван. Все остальные чередования возможны, т. е. каждый еще не завершивший свою работу процесс может получить право выполнить очередную строку своего кода. Вначале y = 0. Вам дано целое число W и ni, для i = 1, ... , N. Определите, возможно ли, что после выполнения всех процессов, y = W, и если это возможно, выведите любой порядок выполнения процессов, который приводит к этому.

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

В первой строке через пробел записаны два целых числа N (1 ≤ N ≤ 100) и W ( - 109 ≤ W ≤ 109). Во второй строке через пробел записано N целых чисел ni (1 ≤ ni ≤ 1000).

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

В первую строку выведите Yes если возможно, что в конце y = W, или No в противном случае. Если ответ No, второй строки быть не должно, но если ответ Yes, во вторую строку выведите через пробел список целых чисел, описывающих некоторый порядок выполнения процессов, который приводит к нужному результату (см. Примечание).

Примеры
Входные данные
1 10
11
Выходные данные
No
Входные данные
2 3
4 4
Выходные данные
Yes
1 1 2 1 2 2 2 2 2 1 2 1 1 1 1 2
Входные данные
3 6
1 2 3
Выходные данные
Yes
1 1 2 2 2 2 3 3 3 3 3 3
Примечание

Предположим, что в коде процессов нет оператора цикла repeat, а код из тела цикла записан нужное число раз. Процессы пронумерованы начиная с 1. Каждое число из списка обозначает, какой процесс выполняет свое очередное действий на данном шаге. Например, рассмотрим порядок 1 2 2 1 3. Первый процесс 1 выполняет свое первое действие, затем процесс 2 свои первые два действия, потом процесс 1 выполняет свое второе действие, далее процесс 3 свое первое действие. Список должен содержать ровно 2·Σ i = 1...Nni чисел.