题目描述
有一个大小为 $n$ 的数组 $a$,小 C 可以交换两个元素 $a_i,a_j$ 当且仅当 $a_i\&a_j=0$($\&$ 为二进制按位与)。小 C 想知道,如果可以交换任意多次,最终数组的字典序最小是什么。
输入格式
第一行一个正整数 $n$ 表示数组大小。
第二行 $n$ 个正整数表示数组 $a$。
输出格式
一行 $n$ 个整数表示字典序最小的最终数组。
样例
样例输入 #1
3
1 5 2
样例输出 #1
1 2 5
其余样例见下发文件
数据范围与约定
对于 $20\%$ 的数据满足 $n\le 7$。
对于 $50\%$ 的数据满足 $n\le 2000$。
对于 $100\%$ 的数据满足 $1\le n\le 10^6,1\le a_i<2^{20}$。