Витя выяснил, что ответ на Главный вопрос жизни, Вселенной и всего такого заключается не в числе 54 42, а в возрастающей последовательности положительных целых чисел \(a_1, \ldots, a_n\). Чтобы не раскрывать сенсацию раньше времени, Витя зашифровал ответ, получив последовательность \(b_1, \ldots, b_n\) по следующему правилу:
- \(b_1 = a_1\);
- \(b_i = a_i \oplus a_{i - 1}\) для всех \(i\) от 2 до \(n\), где \(x \oplus y\) равно побитовому исключающему ИЛИ чисел \(x\) и \(y\).
Легко видеть, что исходную последовательность можно вычислить по правилу \(a_i = b_1 \oplus \ldots \oplus b_i\).
Однако, когда Витя решил представить миру свою сенсацию, он обнаружил, что числа \(b_i\) в его шифре перемешались, и после расшифровки по правилу, описанному выше, может получиться последовательность, не являющаяся возрастающей. Чтобы не ударить лицом в грязь перед научным сообществом, Витя решил найти какую-нибудь перестановку чисел \(b_i\), чтобы последовательность \(a_i = b_1 \oplus \ldots \oplus b_i\) была строго возрастающей. Помогите ему найти любую такую перестановку, либо определите, что это невозможно (и значит, в шифр вкралась какая-то дополнительная ошибка).
Выходные данные
Если искомой перестановки чисел не существует, выведите слово «No» в единственной строке.
В противном случае, в первой строке выведите слово «Yes», после чего во второй строке выведите числа \(b'_1, \ldots, b'_n\) — подходящую перестановку чисел \(b_i\). Неупорядоченные наборы \(\{b_1, \ldots, b_n\}\) и \(\{b'_1, \ldots, b'_n\}\) должны совпадать, то есть для каждого числа \(x\) количество вхождений \(x\) в первый набор должно быть равно количеству вхождений \(x\) во второй набор. Кроме этого, последовательность \(a_i = b'_1 \oplus \ldots \oplus b'_i\) должна быть строго возрастающей.
Примечание
В первом примере ни одна из перестановок чисел не подходит.
Во втором примере данный ответ приводит к последовательности \(a_1 = 4\), \(a_2 = 8\), \(a_3 = 15\), \(a_4 = 16\), \(a_5 = 23\), \(a_6 = 42\).
Примеры
| № | Входные данные | Выходные данные |
|
1
|
3 1 2 3
|
No
|
|
2
|
6 4 7 7 12 31 61
|
Yes
4 12 7 31 7 61
|