Ordenando en el reyno Binario

Time Limit:
4 Sec
Memory Limit:
128Mb
Enviados:
239
Resuelto:
92

Descripción

Desde que le enseñaron al Milaneso todas las cosas que se pueden realizar con los operadores binarios no a dejado de estudiarlos, muy inspirado decidió ir al reyno Binario para tratar los números normales en su representación binaria.
Para prácticar un poco lo aprendido en su viaje quiere ordenar números bajo el siguiente criterio:
Dado un arreglo de $n$ enteros $a$. Milaneso debe ordenar los enteros en el arreglo en orden ascendente por el número de bits encendidos de cada valor en su representación binaria y en caso de que dos o más números tengan el mismo número de bits encendidos, Milaneso debe ordenarlos en orden ascendente mediante su valor original en base 10.

Entrada

Habrán $t$ $(1 \leq t \leq 5)$ casos de prueba.
Para cada caso se leera un entero $n$ $(1 \leq n \leq 500)$, que es el número de elementos en el arreglo $a$.
La siguiente línea estarán los $n$ elementos separados en un espacio en blanco, todos los elementos $a_i$ $(0 \leq a_i \leq 2^{31}-1)$ serán los números que el Milaneso debe ordenar.

Salida

Para cada caso imprimir en una línea el arreglo ordenado bajo el criterio dado, separar entre cada 2 elementos por un espacio.

Ejemplo Entrada

Copy icon
2
9
0 1 2 3 4 5 6 7 8
6
15 7 3 4 8 16

Ejemplo Salida

Copy icon
0 1 2 4 8 3 5 6 7
4 8 16 3 7 15

Ayuda