Ordenação pela quantidade de divisores

Go Medium sorting

Tarefa «Ordenação pela quantidade de divisores»

Escreva um programa que ordena um array de números inteiros em ordem crescente pela quantidade de seus divisores positivos. Se dois números tiverem a mesma quantidade de divisores, eles são ordenados em ordem crescente dos próprios números. O array de entrada pode conter números positivos e negativos. Para números negativos, a quantidade de divisores é calculada da mesma forma que para o seu valor absoluto.

Formato de Entrada

A primeira linha contém um número inteiro N (1 ≤ N ≤ 1000) — a quantidade de elementos do array. A segunda linha contém N números inteiros, cada um em módulo não superior a 10^9, separados por espaços.

Formato de Saída

Imprima N números na ordem especificada pela condição, separados por espaços.

Exemplos

Exemplo 1

ENTRADA
5 12 2 20 101 3
SAÍDA
2 3 101 12 20
main.go