Ordenação por soma dos dígitos e comprimento

JavaScript Medium sorting

Tarefa «Ordenação por soma dos dígitos e comprimento»

Escreva um programa que recebe um array de números inteiros e o ordena em ordem crescente pela soma dos dígitos de cada número. Se a soma dos dígitos for igual, então compara-se os comprimentos dos números (quantidade de dígitos). Se os comprimentos também forem iguais, ordena-se em ordem crescente pelos próprios números. Imprima o array ordenado separado por espaços.

Formato de Entrada

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

Formato de Saída

Uma única linha com os números ordenados, separados por espaços.

Exemplos

Exemplo 1

ENTRADA
4 99 9 999 90
SAÍDA
9 90 99 999

Exemplo 2

ENTRADA
3
SAÍDA

Exemplo 3

ENTRADA
3 111 222 333
SAÍDA
111 222 333

Exemplo 4

ENTRADA
5
SAÍDA
main.js