#480. 数位排序(加强版)

数位排序(加强版)

题目描述

小珅对一个数的数位之和很感兴趣,今天他要按照数位之和给序列 a1,a2,a3,,ana_1,a_2,a_3,\dots,a_n排序。当两个数各个数位之和不同时,将数位和较小的排在前面,当数位之和相等时,将数值小的排在前面,保证所有整数互不相同。

例如,1001 排在 99 前面,因为 1001 的数位之和是 2 而 99 的数位之和是 18。又如,2 排在 101 前面,因为它们的数位之和相同,而 2 小于 101。

请你帮助小珅完成这个任务。

输入格式

第一行,包含一个正整数 nn

第二行,包含 nn个正整数 a1,a2,,ana_1,a_2,\dots,a_n

输出格式

一行,空格隔开的 nn个整数,表示排序之后的序列。

5
2 4 1 5 3
1 2 3 4 5

数据规模与约定

对于 100%100\%的数据:1n1051 \le n \le 10^51ai10161 \le a_i \le 10^{16}