#include <bits/stdc++.h>
void swap(int *a, int *b);
void bubbleSort(int *, int);
int count = 0;
int main() {
  int i, j, flag, A[100], N;
  while (1) {
    scanf("%d", &N);
    if (1 <= N && N <= 100) break;
  }
  for (i = 0; i < N; i++) {
    scanf("%d", &A[i]);
  }
  bubbleSort(A, N);
  for (i = 0; i < N - 1; i++) printf("%d ", A[i]);
  printf("%d\n", A[N - 1]);
  printf("%d\n", count);
  return 0;
}
void swap(int *a, int *b) {
  int t;
  t = *a;
  *a = *b;
  *b = t;
}
void bubbleSort(int *A, int N) {
  int flag, i, j;
  flag = 1;
  i = 0;
  while (flag) {
    flag = 0;
    for (j = N - 1; j >= i + 1; j--) {
      if (A[j] < A[j - 1]) {
        swap(&A[j], &A[j - 1]);
        flag = 1;
        ++count;
      }
    }
    i++;
  }
}
