Олимпиадный тренинг

Задача . A. Феникс и золото


Феникс собрал \(n\) кусков золота и теперь хочет взвесить их вместе, чтобы почувствовать себя богатым. Все веса различны и \(i\)-й кусок золота весит \(w_i\). Феникс будет класть свои \(n\) кусков на весы по одному.

У весов есть необычный дефект: если суммарный вес на них равен \(x\), они взорвутся. Может ли Феникс положить все его \(n\) кусков золота на весы в каком-то порядке, чтобы весы не взорвались в процессе? Если да, помогите ему определить какой-нибудь порядок.

Говоря формально, переставьте элементы массива \(w\) так, чтобы для каждого \(i\) \((1 \le i \le n)\), \(\sum\limits_{j = 1}^{i}w_j \ne x\).

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

Входные данные состоят из нескольких наборов. В первой строке задано одно целое число \(t\) (\(1 \le t \le 1000\)) — количество наборов входных данных.

В первой строке каждого набора заданы два целых числа \(n\) и \(x\) (\(1 \le n \le 100\); \(1 \le x \le 10^4\)) — количество кусков золота у Феникса и вес, который нужно избежать, соответственно.

Во второй строке каждого набора заданы \(n\) целых чисел через пробел \((1 \le w_i \le 100)\) — веса кусков золота. Гарантируется, что все веса попарно различны.

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

Для каждого набора входных данных, если Феникс не может положить все \(n\) кусков избежав взрыва, выведите NO. В противном случае выведите YES и массив \(w\) в соответствующем порядке. Если существует несколько решений, выведите любое из них.

Примечание

В первом наборе входных данных, Феникс кладет на весы сначала кусок золота веса \(3\), потом кусок веса \(2\), и наконец кусок веса \(1\). На весах сначала будет суммарный вес \(3\), потом — \(5\), затем — \(6\). Весы не взорвутся, потому что вес на них никогда не равен \(2\).

Во втором наборе, весы покажут \(8\), \(9\), \(11\), \(14\) и \(18\) — ничего равного \(3\).

В третьем наборе, Феникс должен положить кусок весом \(5\) на весы, и весы в любом случае взорвутся.


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

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя