import java.util.*;

class Main {
        public static void main(String args[]) {
                try (Scanner sc = new Scanner(System.in)) {
                        int N = sc.nextInt();
                        int[] A = new int[N];
                        int[] B = new int[N];

                        for (int i = 0; i < N; i++) {
                                A[i] = sc.nextInt();
                                B[i] = A[i];
                        }
                        Arrays.sort(B);
                        for (int i = 0; i < N; i++) {
                                System.out.print(B[i] + (i == N-1 ? "\n" : " "));
                        }
                        System.out.println(bubbleSort(A, N));
                }
        }
        private static int bubbleSort(int[] A, int N) {
                boolean flag = true;
                int ans = 0;
                while (flag) {
                        flag = false;
                        for (int j = N - 1; j >= 1; j--) {
                                if (A[j] < A[j-1]) {
                                        int tmp = A[j];
                                        A[j] = A[j-1];
                                        A[j-1] = tmp;
                                        flag = true;
                                        ans++;
                                }
                        }
                }
                return ans;
        }
}
/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz