시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 256 MB114440.000%

문제

Андрей Сергеевич работает воспитателем в детском саду. Недавно он придумал новую веселую игру, для участия в которой все дети разбились на n команд. В качестве призов для участников игры Андрей Сергеевич подготовил d конфет.

По итогам игры оказалось, что в команде, занявшей i-е место, ровно xi участников.

Теперь перед Андреем Сергеевичем стоит непростая задача: надо распределить конфеты. При этом должны выполняться следующие условия:

  • все участники одной команды должны получить поровну конфет: пусть участники команды, занявшей i-е место получат по ai конфет;
  • каждый ребенок должен получить хотя бы одну конфету: ai > 0;
  • участники команды, занявшей более высокое место, должны получить больше конфет: если i < j, то ai > aj
  • все конфеты должны быть распределены: a1x1 + a2x2 + ... anxn = d

Помогите Андрею Сергеевичу раздать детям конфеты, или сообщите,что это невозможно.

입력

Первая строка содержит два целых числа n и d (1 ≤ n ≤ 100, 1 ≤ d ≤ 106). Вторая строка содержит n целых чисел x1, ..., xn (1 ≤ xi ≤ 100 для всех i от 1 до n).

출력

Если разделить конфеты возможно, то в первой строке выведите YES, а во второй выведите n целых чисел: a1a2, ..., an. Если разделить конфеты указанным способом нельзя, выведите NO.

예제 입력 1

2 100
2 1

예제 출력 1

YES
34 32

예제 입력 2

2 6
2 1

예제 출력 2

NO