13032 - 基数排序

通过次数

1

提交次数

4

时间限制 : 1 秒
内存限制 : 128 MB

给定 n 个非负整数,请你使用基数排序(LSD 方式)对这些数从小到大进行排序,并在每一轮按当前位完成“分配—收集”后,输出数组的中间状态,最后输出最终排序结果。

基数排序是一种非比较型排序算法,它从最低位(个位)开始,依次对每一位进行“分配—收集”操作,逐轮稳定排序,最终得到完整有序序列。

输入

第一行包含一个整数 n,表示数字个数。 第二行包含 n 个非负整数,表示待排序的数组。其中所有n \leq 10^7

输出

  • 对于每一个位(从个位开始,直到最高位),输出该轮按位排序后的数组状态。

每个状态占一行,数字之间用空格分隔。

样例

输入

6
170 45 75 90 2 24

输出

170 90 2 24 45 75
2 24 45 170 75 90
2 24 45 75 90 170

提示

extra test

对于20%的数据,包含负数