/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
public class Solution {
static int numSwaps;
static int firstElement;
static int lastElement;
public int[] bubbleSort(int[] array){
int n = array.length;
boolean exchanges = false;
numSwaps=0;
int pass = 1;
for(int i = 0; i < n - 2; i++)
for(int j = 0; j < n - 2 - i; j++){
if(array[j+ 1] < array[j ]){
numSwaps++;
swap(array, j, j+1);
}
}
firstElement = array[0];
lastElement = array[n-1];
return array;
}
StringBuilder builder = new StringBuilder();
String result
= String.
format("Array is sorted in %d swaps. \nFirst Element: %d \nLast Element: %d",
numSwaps, firstElement, lastElement);
return result;
}
private void swap(int[] array, int i, int j){
int temp = array[i];
array[i] = array[i + 1];
array[i + 1] = temp;
}
public static void main
(String[] args
) { Scanner in
= new Scanner
(System.
in); int n = in.nextInt();
int a[] = new int[n];
for(int a_i=0; a_i < n; a_i++){
a[a_i] = in.nextInt();
}
Solution s = new Solution();
s.bubbleSort(a);
System.
out.
println(s.
toString()); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KcHVibGljIGNsYXNzIFNvbHV0aW9uIHsKICAgIAogICAgc3RhdGljIGludCBudW1Td2FwczsKICAgIHN0YXRpYyBpbnQgZmlyc3RFbGVtZW50OwogICAgc3RhdGljIGludCBsYXN0RWxlbWVudDsKICAgIAogICAgcHVibGljIGludFtdIGJ1YmJsZVNvcnQoaW50W10gYXJyYXkpewogICAgICAgIGludCBuID0gYXJyYXkubGVuZ3RoOwogICAgICAgIGJvb2xlYW4gZXhjaGFuZ2VzID0gZmFsc2U7CiAgICAgICAgbnVtU3dhcHM9MDsKICAgICAgICBpbnQgcGFzcyA9IDE7CiAgICAgICAgZm9yKGludCBpID0gMDsgaSA8IG4gLSAyOyBpKyspCiAgICAgICAgICAgIGZvcihpbnQgaiA9IDA7IGogPCBuIC0gMiAtIGk7IGorKyl7CiAgICAgICAgICAgICAgICBpZihhcnJheVtqKyAxXSA8IGFycmF5W2ogXSl7CiAgICAgICAgICAgICAgICAgICAgbnVtU3dhcHMrKzsKICAgICAgICAgICAgICAgICAgICBzd2FwKGFycmF5LCBqLCBqKzEpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZmlyc3RFbGVtZW50ID0gYXJyYXlbMF07CiAgICAgICAgbGFzdEVsZW1lbnQgPSBhcnJheVtuLTFdOwogICAgICAgIHJldHVybiBhcnJheTsKICAgIH0KICAgIHB1YmxpYyAgU3RyaW5nIHRvU3RyaW5nKCl7CiAgICAgICAgU3RyaW5nQnVpbGRlciBidWlsZGVyID0gbmV3IFN0cmluZ0J1aWxkZXIoKTsKICAgICAgICBTdHJpbmcgcmVzdWx0ID0gU3RyaW5nLmZvcm1hdCgiQXJyYXkgaXMgc29ydGVkIGluICVkIHN3YXBzLiBcbkZpcnN0IEVsZW1lbnQ6ICVkIFxuTGFzdCBFbGVtZW50OiAlZCIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bVN3YXBzLCBmaXJzdEVsZW1lbnQsIGxhc3RFbGVtZW50KTsKICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgfQogICAgcHJpdmF0ZSB2b2lkIHN3YXAoaW50W10gYXJyYXksIGludCBpLCBpbnQgail7CiAgICAgICAgaW50IHRlbXAgPSBhcnJheVtpXTsKICAgICAgICBhcnJheVtpXSA9IGFycmF5W2kgKyAxXTsKICAgICAgICBhcnJheVtpICsgMV0gPSB0ZW1wOwogICAgfQogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIFNjYW5uZXIgaW4gPSBuZXcgU2Nhbm5lcihTeXN0ZW0uaW4pOwogICAgICAgIGludCBuID0gaW4ubmV4dEludCgpOwogICAgICAgIGludCBhW10gPSBuZXcgaW50W25dOwogICAgICAgIGZvcihpbnQgYV9pPTA7IGFfaSA8IG47IGFfaSsrKXsKICAgICAgICAgICAgYVthX2ldID0gaW4ubmV4dEludCgpOwogICAgICAgIH0KICAgICAgICBTb2x1dGlvbiBzID0gbmV3IFNvbHV0aW9uKCk7CiAgICAgICAgcy5idWJibGVTb3J0KGEpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihzLnRvU3RyaW5nKCkpOwogICAgfQp9