1515 - 冒泡排序

通过次数

3

提交次数

14

Time Limit : 1 秒
Memory Limit : 128 MB

对于N个数,使用冒泡排序的算法,对其从小到大排序,思路是:

从最后的一对数到最开始的一对数,对于每一对数,如果后者比前者小,则交换它们;
从最后的一对数到最开始的第2对数,对于每一对数,如果后者比前者小,则交换它们;
……
从最后的一对数到倒数第2对数,对于每一对数,如果后者比前者小,则交换它们;
这时就完成了对N个数从小到大的排序。

请根据输入和输出要求完成冒泡排序的算法实现。

Input

第1行一个整数N(N<=50)

第2行有N个用空格隔开的已经打乱次序的正整数(它们都小于N+1)

Output

前面N-1行,每一行输出:

从最后的一对数到最开始的一对数,根据需要实施的交换的次数 + “: " + 完成本轮操作后的列表(逗号隔开)
从最后的一对数到最开始的第2对数,根据需要实施的交换的次数 + “: " + 完成本轮操作后的列表(逗号隔开)
……
从最后的一对数到倒数第2对数,根据需要实施的交换的次数 + “: " + 完成本轮操作后的列表(逗号隔开)
最后一行输出:

finnally: 最后排好序的列表(逗号隔开)

Examples

Input

5
5 3 2 1 4

Output

3: 1,5,3,2,4
2: 1,2,5,3,4
1: 1,2,3,5,4
1: 1,2,3,4,5
finnally: 1,2,3,4,5