¡El famoso concurso televisivo vuelve con otra temporada: ahora es la edición XOR! El concurso funciona así: el concursante tiene una bolsa de números, inicialmente vacía. Después se celebran $n$ rondas en orden. En cada ronda, se le ofrece al concursante un entero elegido uniformemente al azar de $[0; 2^k-1]$. Entonces el concursante puede elegir entre añadirlo a su bolsa o descartarlo definitivamente. Tras las $n$ rondas, el concursante se marcha con un premio igual al XOR de los números de su bolsa. Obsérvese que se considera que el XOR de una bolsa vacía es igual a cero.
El concursante conoce $n$ y $k$, y sabe que los números se generan uniformemente al azar de $[0; 2^k-1]$, pero no conoce los valores exactos de los números. Con esta información, el concursante optimiza su estrategia para maximizar el valor esperado del premio y, además, para que el espectáculo sea emocionante, si en la estrategia óptima tomar o no tomar el siguiente número conduce al mismo valor esperado, el concursante siempre elegirá tomarlo.
Eres el productor del concurso. Te han dado una lista de enteros que se usarán en el programa de mañana, que efectivamente se han generado uniformemente al azar. Quieres minimizar el premio del concursante para reducir los costes del programa. Pero cambiar los números en sí podría despertar demasiadas sospechas; por lo tanto, solo quieres cambiar el orden en que se le presentarán al concursante. Por supuesto, haces esto en secreto, y nadie, incluido el concursante, sabe de estas artimañas; por ello, la estrategia del concursante seguirá siendo la misma. ¡Encuentra cualquier orden posible de los números que haga que el concursante gane la menor cantidad de dinero posible!
Entrada
La primera línea de la entrada contiene dos enteros $k, n$ ($4 \le k \le 18$, $10k \le n \le 2\cdot 10^5$).
La siguiente línea contiene $n$ enteros $a_1, a_2, \ldots, a_n$ ($0 \le a_i < 2^k$). Se garantiza que estos enteros se generan uniformemente al azar.
Este problema tiene 90 pruebas, con 6 pruebas para cada valor de $4 \le k \le 18$, donde los valores de $n$ se distribuyen en progresión aritmética entre $10k$ y $2\cdot 10^5$, incluidos ambos extremos.
Salida
Imprime $n$ enteros: el arreglo reordenado $a_1, a_2, \ldots, a_n$ que logra un valor mínimo. Si hay varias respuestas, imprime cualquiera de ellas.
Ejemplos
Entrada 1
4 40 4 12 3 5 9 7 0 6 13 10 12 14 14 7 2 8 3 4 2 3 4 9 13 4 13 6 10 2 0 10 4 9 15 13 10 8 6 7 14 3
Salida 1
***
Nota
Para que quepa en la página, se añadieron varios saltos de línea a la entrada de ejemplo. Las entradas reales siguen la descripción de la entrada.
Deliberadamente no te mostramos la respuesta de la primera prueba. Sigue el formato de salida.