Андрей Сергеевич работает воспитателем в детском саду. Недавно он придумал новую веселую игру, для участия в которой все дети разбились на n команд. В качестве призов для участников игры Андрей Сергеевич подготовил d конфет.
По итогам игры оказалось, что в команде, занявшей i-е место, ровно xi участников.
Теперь перед Андреем Сергеевичем стоит непростая задача: надо распределить конфеты. При этом должны выполняться следующие условия:
Помогите Андрею Сергеевичу раздать детям конфеты, или сообщите,что это невозможно.
Первая строка содержит два целых числа n и d (1 ≤ n ≤ 100, 1 ≤ d ≤ 106). Вторая строка содержит n целых чисел x1, ..., xn (1 ≤ xi ≤ 100 для всех i от 1 до n).
Если разделить конфеты возможно, то в первой строке выведите YES, а во второй выведите n целых чисел: a1, a2, ..., a**n. Если разделить конфеты указанным способом нельзя, выведите NO.