P16013 [ICPC 2021 NAC] AND Permutation

题目描述

给定一个由 $n$ 个互不相同的非负整数构成的序列 $a_1, a_2, \dots, a_n$。 对于给定的序列,保证对于任意非负整数 $x$,若存在某个 $i$ 使得 $a_i\ \&\ x = x$,则必定存在某个 $j$ 使得 $a_j = x$。其中,$\&$ 表示按位 **与** 运算。 请找到一个 $a_1, a_2, \dots, a_n$ 的排列 $b_1, b_2, \dots, b_n$,使得对于所有 $i$,有 $b_i\ \&\ a_i = 0$。若存在多个解,输出任意一个即可。保证解一定存在。

输入格式

输入的第一行包含一个整数 $n$($1 \le n < 2^{18}$),表示排列中整数的个数。 接下来的 $n$ 行中,每行包含一个整数 $a_i$($0 \le a_i < 2^{60}$),按 $i$ 的顺序给出输入序列。所有 $a_i$ 互不相同。保证对于任意非负整数 $x$,若存在某个 $i$ 使得 $a_i\ \&\ x = x$,则必定存在某个 $j$ 使得 $a_j = x$。

输出格式

输出 $n$ 行,每行一个整数,按 $i$ 的顺序依次输出 $b_i$。

说明/提示

翻译由 DeepSeek V3.2 完成