#H01. 提前结束的冒泡

提前结束的冒泡

Background

有些数组并不需要做满所有趟冒泡,就已经完全有序了。

Description

给定一个长度为 n 的整数数组,请你按升序进行冒泡排序。

如果某一趟冒泡中一次交换也没有发生,说明数组已经有序,此时应立即结束排序。

请输出最终排好序的数组,以及实际执行了多少趟冒泡。

Format

Input

第 1 行:1 个整数 n,表示数组长度,保证 n >= 2。

第 2 行:n 个整数,表示数组中的元素。

Output

第 1 行输出排序后的数组。

第 2 行输出 1 个整数,表示实际执行的冒泡趟数。

Samples

5
1 2 3 5 4
1 2 3 4 5
2

Hint

如果一开始数组就是有序的,也要先完成第 1 趟检查;只是这一趟不会发生交换,随后立刻结束。

Limitation

1s, 256MiB for each test case.