计数排序(带顺序恢复)

Java Hard sorting

任务 «计数排序(带顺序恢复)»

给定一个整数数组。需要使用计数排序算法将其按升序排序。然而,当元素值相同时,必须保持它们原始的相对顺序(稳定排序)。输出排序后的数组。限制条件:数组长度从1到10^5,元素值从-10^4到10^4。

输入格式

第一行包含一个整数 N (1 ≤ N ≤ 100000) — 元素的数量。第二行包含 N 个由空格分隔的整数 — 数组的元素。

输出格式

输出 N 个数——排序后的数组,以空格分隔。

示例

示例 1

输入
5 3 1 2 1 3
输出
1 1 2 3 3

示例 2

输入
4 -2 0 -2 1
输出
-2 -2 0 1

示例 3

输入
1 42
输出
42
main.java