Изменения рейтингов за последние раунды временно удалены. Скоро они будут возвращены. ×

H. НОД больше
ограничение по времени на тест
3 секунды
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Вечерами в походе нужно как-то коротать время, поэтому Кирилл и Антон решили достать из рюкзака массив целых чисел $$$a$$$ длины $$$n$$$ и сыграть с ним в игру. Правила заключаются в следующем:

  1. Кирилл выбирает себе от $$$2$$$-х до $$$(n-2)$$$-х чисел и обводит их красным цветом.
  2. Антон обводит синим цветом все остальные числа.
  3. Кирилл считает наибольший общий делитель (НОД) всех красных чисел.
  4. Антон считает побитовое И всех синих чисел и прибавляет к результату число $$$x$$$.
  5. Если НОД всех красных чисел строго больше, чем сумма побитового И всех синих чисел и числа $$$x$$$, то Кирилл выигрывает, иначе выигрывает Антон.

Помогите Кириллу обыграть Антона или скажите, что это невозможно.

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

Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 20\,000$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.

Первая строка каждого набора содержит два целых числа $$$n$$$ и $$$x$$$ ($$$4\le n \le 4\cdot 10^5$$$, $$$0 \le x \le 4\cdot 10^5$$$) — количество чисел и число $$$x$$$ соответственно.

Во второй строке вводится массив $$$a$$$ длины $$$n$$$ ($$$1 \le a_i \le 4\cdot 10^5$$$).

Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$4\cdot 10^5$$$. Также гарантируется, что сумма максимальных значений $$$a_i$$$ по каждому набору входных данных не превосходит $$$4\cdot 10^5$$$.

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

Для каждого набора входных данных выведите в первой строке «YES», если выполнить условие возможно, во второй — количество чисел, которые выбирает Кирилл, а также сами числа в любом порядке через пробел, а в третьей — размер второго множества и числа, попавшие в него.

Иначе выведите «NO».

Вы можете выводить каждую букву в любом регистре (строчную или заглавную). Например, строки «yEs», «yes», «Yes» и «YES» будут приняты как положительный ответ.

Пример
Входные данные
8
4 1
4 3 1 8
4 1
4 5 8 4
5 0
1 1 1 1 1
5 2
31 63 127 63 31
4 1
1 3 3 3
8 3
4 3 4 1 2 2 5 3
4 2
1 4 3 6
8 48
31 61 37 15 53 26 61 12
Выходные данные
YES
2 4 8
2 3 1 
YES
2 4 4
2 5 8 
NO
YES
2 63 63
3 31 127 31
YES
2 3 3
2 1 3
YES
2 4 4
6 3 1 2 2 5 3
YES
2 3 6
2 1 4 
YES
2 61 61
6 31 37 15 53 26 12