Tri par nombre de diviseurs

Go Medium sorting

Tâche «Tri par nombre de diviseurs»

Écrivez un programme qui trie un tableau d’entiers par ordre croissant du nombre de leurs diviseurs positifs. Si deux nombres ont le même nombre de diviseurs, ils sont triés par ordre croissant des nombres eux-mêmes. Le tableau d’entrée peut contenir aussi bien des nombres positifs que négatifs. Pour les nombres négatifs, le nombre de diviseurs est calculé de la même manière que pour leur valeur absolue.

Format d\ entrée

La première ligne contient un entier N (1 ≤ N ≤ 1000) — le nombre d’éléments du tableau. La deuxième ligne contient N entiers, chacun ne dépassant pas 10^9 en valeur absolue, séparés par des espaces.

Format de sortie

Affichez les N nombres dans l’ordre spécifié par la condition, séparés par des espaces.

Exemples

Exemple 1

ENTRÉE
5 12 2 20 101 3
SORTIE
2 3 101 12 20
main.go