{"raw_statement":[{"iden":"statement","content":"Vitya has learned that the answer for The Ultimate Question of Life, the Universe, and Everything is not the integer 54 42, but an increasing integer sequence $a_1, \\ldots, a_n$. In order to not reveal the secret earlier than needed, Vitya encrypted the answer and obtained the sequence $b_1, \\ldots, b_n$ using the following rules:\n\n*   $b_1 = a_1$;\n*   $b_i = a_i \\oplus a_{i - 1}$ for all $i$ from 2 to $n$, where $x \\oplus y$ is the [bitwise XOR](https://en.wikipedia.org/wiki/Bitwise_operation#XOR) of $x$ and $y$.\n\nIt is easy to see that the original sequence can be obtained using the rule $a_i = b_1 \\oplus \\ldots \\oplus b_i$.\n\nHowever, some time later Vitya discovered that the integers $b_i$ in the cypher got shuffled, and it can happen that when decrypted using the rule mentioned above, it can produce a sequence that is not increasing. In order to save his reputation in the scientific community, Vasya decided to find some permutation of integers $b_i$ so that the sequence $a_i = b_1 \\oplus \\ldots \\oplus b_i$ is strictly increasing. Help him find such a permutation or determine that it is impossible."},{"iden":"input","content":"The first line contains a single integer $n$ ($1 \\leq n \\leq 10^5$).\n\nThe second line contains $n$ integers $b_1, \\ldots, b_n$ ($1 \\leq b_i &lt; 2^{60}$)."},{"iden":"output","content":"If there are no valid permutations, print a single line containing \"_No_\".\n\nOtherwise in the first line print the word \"_Yes_\", and in the second line print integers $b'_1, \\ldots, b'_n$ — a valid permutation of integers $b_i$. The unordered multisets ${b_1, \\ldots, b_n}$ and ${b'_1, \\ldots, b'_n}$ should be equal, i. e. for each integer $x$ the number of occurrences of $x$ in the first multiset should be equal to the number of occurrences of $x$ in the second multiset. Apart from this, the sequence $a_i = b'_1 \\oplus \\ldots \\oplus b'_i$ should be strictly increasing.\n\nIf there are multiple answers, print any of them."},{"iden":"examples","content":"Input\n\n3\n1 2 3\n\nOutput\n\nNo\n\nInput\n\n6\n4 7 7 12 31 61\n\nOutput\n\nYes\n4 12 7 31 7 61"},{"iden":"note","content":"In the first example no permutation is valid.\n\nIn the second example the given answer lead to the sequence $a_1 = 4$, $a_2 = 8$, $a_3 = 15$, $a_4 = 16$, $a_5 = 23$, $a_6 = 42$."}],"translated_statement":[{"iden":"statement","content":"Vitya 已经了解到，生命、宇宙以及一切的终极问题的答案不是整数 #cf_span(class=[tex-font-style-striked], body=[54]) 42，而是一个递增的整数序列 $a_1, dots.h, a_n$。为了在必要之前不提前泄露这个秘密，Vitya 对答案进行了加密，得到了序列 $b_1, dots.h, b_n$，其加密规则如下：\n\n可以轻易看出，原始序列可以通过规则 $a_i = b_1 plus.circle dots.h plus.circle b_i$ 恢复。\n\n然而，后来 Vitya 发现，密码中的整数 $b_i$ 被打乱了顺序，因此如果按照上述规则解密，可能会得到一个非递增的序列。为了在科学界保住自己的声誉，Vasya 决定找到一个 $b_i$ 的排列，使得序列 $a_i = b_1 plus.circle dots.h plus.circle b_i$ 严格递增。请帮助他找到这样的排列，或判断其不存在。\n\n第一行包含一个整数 $n$ ($1 lt.eq n lt.eq 10^5$)。\n\n第二行包含 $n$ 个整数 $b_1, dots.h, b_n$ ($1 lt.eq b_i < 2^(60)$)。\n\n如果没有合法的排列，请输出一行 \"_No_\"。\n\n否则，在第一行输出 \"_Yes_\"，在第二行输出整数 $b '_1, dots.h, b '_n$ —— 一个合法的 $b_i$ 的排列。无序多重集 ${b_1, dots.h, b_n}$ 和 ${b '_1, dots.h, b '_n}$ 应相等，即对于每个整数 $x$，它在第一个多重集中出现的次数应等于它在第二个多重集中出现的次数。此外，序列 $a_i = b '_1 plus.circle dots.h plus.circle b '_i$ 应严格递增。\n\n如果有多个答案，输出任意一个即可。\n\n在第一个示例中，没有合法的排列。\n\n在第二个示例中，给出的答案生成了序列 $a_1 = 4$，$a_2 = 8$，$a_3 = 15$，$a_4 = 16$，$a_5 = 23$，$a_6 = 42$。"},{"iden":"input","content":"第一行包含一个整数 $n$ ($1 lt.eq n lt.eq 10^5$)。第二行包含 $n$ 个整数 $b_1, dots.h, b_n$ ($1 lt.eq b_i < 2^(60)$)。"},{"iden":"output","content":"如果没有合法的排列，请输出一行 \"_No_\"。否则，在第一行输出 \"_Yes_\"，在第二行输出整数 $b '_1, dots.h, b '_n$ —— 一个合法的 $b_i$ 的排列。无序多重集 ${b_1, dots.h, b_n}$ 和 ${b '_1, dots.h, b '_n}$ 应相等，即对于每个整数 $x$，它在第一个多重集中出现的次数应等于它在第二个多重集中出现的次数。此外，序列 $a_i = b '_1 plus.circle dots.h plus.circle b '_i$ 应严格递增。如果有多个答案，输出任意一个即可。"},{"iden":"examples","content":"输入31 2 3输出No输入64 7 7 12 31 61输出Yes4 12 7 31 7 61 "},{"iden":"note","content":"在第一个示例中，没有合法的排列。在第二个示例中，给出的答案生成了序列 $a_1 = 4$，$a_2 = 8$，$a_3 = 15$，$a_4 = 16$，$a_5 = 23$，$a_6 = 42$。"}],"sample_group":[],"show_order":[],"formal_statement":"**Definitions**  \nLet $ n \\in \\mathbb{Z}^+ $ be the length of the sequence.  \nLet $ B = \\{b_1, b_2, \\dots, b_n\\} $ be a multiset of positive integers with $ b_i < 2^{60} $.  \nLet $ B' = (b'_1, b'_2, \\dots, b'_n) $ be a permutation of $ B $.  \nDefine the prefix sum sequence $ A' = (a'_1, a'_2, \\dots, a'_n) $ by:  \n$$\na'_i = \\sum_{j=1}^i b'_j \\quad \\text{for } i = 1, \\dots, n.\n$$\n\n**Constraints**  \n1. $ 1 \\leq n \\leq 10^5 $  \n2. $ 1 \\leq b_i < 2^{60} $ for all $ i \\in \\{1, \\dots, n\\} $  \n3. $ B' $ is a permutation of $ B $: $ \\{b'_1, \\dots, b'_n\\} = \\{b_1, \\dots, b_n\\} $ as multisets.  \n\n**Objective**  \nFind a permutation $ B' $ such that $ A' $ is **strictly increasing**, i.e.,  \n$$\na'_1 < a'_2 < \\dots < a'_n,\n$$  \nor determine that no such permutation exists.  \n\nIf such a $ B' $ exists, output \"Yes\" followed by $ B' $; otherwise, output \"No\".","simple_statement":null,"has_page_source":false}