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

C. Махмуд, Ехаб и xor
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Махмуд и Ехаб проходят третье испытание Доктора Зло. Как вы уже знаете, Доктор любит множества. На этот раз он не покажет Махмуду и Ехабу ни одного множества из его обширной коллекции, но попросит их сделать новое множество, чтобы её пополнить.

У Доктора Зло есть любимое злое число x. Он просит Махмуда и Ехаба найти множество из n различных неотрицательных целых чисел такое, что побитовый xor чисел в нём равен x. Доктор Зло не любит большие числа, поэтому он хочет, чтобы все числа в множестве были не больше, чем 106.

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

В единственной строке содержатся два целых числа n и x (1 ≤ n ≤ 105, 0 ≤ x ≤ 105) — число элементов в множестве и требуемый xor, соответственно.

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

Если таких множеств не существует, выведите "NO" (без кавычек).

Иначе выведите на первой строке "YES" (без кавычек) а на второй строке n целых неотрицательных различных чисел — элементы множества в любом порядке.

Если решений несколько, выведите любое.

Примеры
Входные данные
5 5
Выходные данные
YES
1 2 4 5 7
Входные данные
3 6
Выходные данные
YES
1 2 5
Примечание

Вы можете узнать больше об операции побитовый xor здесь: https://ru.wikipedia.org/wiki/Сложение_по_модулю_2

В первом тестовом примере . Во втором тестовом примере .