按权重排序

C++ Medium sorting

任务 «按权重排序»

给定一个整数数组。请按每个数字的各位数字之和(数字的权重)升序对其进行排序。如果两个数字的各位数字之和相同,则应按数字本身的升序进行排序。输出排序后的数组。

输入格式

第一行是一个整数 N (1 ≤ N ≤ 1000) — 数字的数量。第二行包含 N 个整数,每个数的绝对值不超过 10^6。

输出格式

输出 N 个整数 — 排序后的数组。

示例

示例 1

输入
5 12 3 21 10 5
输出
10 3 12 21 5

示例 2

输入
3 1 2 3 2 2 4
输出
1 2 3

示例 3

输入
3 100 1 10
输出
1 10 100

示例 4

输入
1 10
输出
10

示例 5

输入
4 apple banana cherry apple 3 banana date fig
输出
apple banana cherry date fig
main.cpp