import java.util.Scanner;
public class Main {
	public static Scanner sc = new Scanner(System.in);
	public static void main(String[] args) {
		int i, j, k;
		int n = sc.nextInt();
		int a[] = new int[n];
		
		for(i = 0; i < n; i++){
			a[i] = sc.nextInt();
		}
		
		bubblesort(n, a);
	}
	public static void bubblesort(int n, int a[]){
		int flag = 1;
		int i = 0;
		int temp;
		int count = 0;
		while(flag == 1){
			flag = 0;
			for(int j = n - 1; j >= i + 1; j--){
				if(a[j] < a[j - 1]){
					temp = a[j];
					a[j] = a[j-1];
					a[j - 1] = temp;
					count++;
					flag = 1;
				}
			}
			i++;
		}
		for(i = 0; i < n; i++){
			if(i == n - 1) System.out.println(a[i]);
			else System.out.print(a[i] + " ");
		}
		System.out.println(count);
	}

} import java.util.Scanner; Scanner java.util public class Main {
	public static Scanner sc = new Scanner(System.in);
	public static void main(String[] args) {
		int i, j, k;
		int n = sc.nextInt();
		int a[] = new int[n];
		
		for(i = 0; i < n; i++){
			a[i] = sc.nextInt();
		}
		
		bubblesort(n, a);
	}
	public static void bubblesort(int n, int a[]){
		int flag = 1;
		int i = 0;
		int temp;
		int count = 0;
		while(flag == 1){
			flag = 0;
			for(int j = n - 1; j >= i + 1; j--){
				if(a[j] < a[j - 1]){
					temp = a[j];
					a[j] = a[j-1];
					a[j - 1] = temp;
					count++;
					flag = 1;
				}
			}
			i++;
		}
		for(i = 0; i < n; i++){
			if(i == n - 1) System.out.println(a[i]);
			else System.out.print(a[i] + " ");
		}
		System.out.println(count);
	}

} Main public static Scanner sc = new Scanner(System.in); sc new Scanner(System.in) public static void main(String[] args) {
		int i, j, k;
		int n = sc.nextInt();
		int a[] = new int[n];
		
		for(i = 0; i < n; i++){
			a[i] = sc.nextInt();
		}
		
		bubblesort(n, a);
	} main {
		int i, j, k;
		int n = sc.nextInt();
		int a[] = new int[n];
		
		for(i = 0; i < n; i++){
			a[i] = sc.nextInt();
		}
		
		bubblesort(n, a);
	} int i i j j k; k int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc int a[] = new int[n]; a new int[n] n for(i = 0; i < n; i++){
			a[i] = sc.nextInt();
		} i = 0; i = 0 i 0 i < n i n i++ i++ i {
			a[i] = sc.nextInt();
		} {
			a[i] = sc.nextInt();
		} a[i] = sc.nextInt() a[i] a i sc.nextInt() sc.nextInt sc bubblesort(n, a) bubblesort n a String[] args args public static void bubblesort(int n, int a[]){
		int flag = 1;
		int i = 0;
		int temp;
		int count = 0;
		while(flag == 1){
			flag = 0;
			for(int j = n - 1; j >= i + 1; j--){
				if(a[j] < a[j - 1]){
					temp = a[j];
					a[j] = a[j-1];
					a[j - 1] = temp;
					count++;
					flag = 1;
				}
			}
			i++;
		}
		for(i = 0; i < n; i++){
			if(i == n - 1) System.out.println(a[i]);
			else System.out.print(a[i] + " ");
		}
		System.out.println(count);
	} bubblesort {
		int flag = 1;
		int i = 0;
		int temp;
		int count = 0;
		while(flag == 1){
			flag = 0;
			for(int j = n - 1; j >= i + 1; j--){
				if(a[j] < a[j - 1]){
					temp = a[j];
					a[j] = a[j-1];
					a[j - 1] = temp;
					count++;
					flag = 1;
				}
			}
			i++;
		}
		for(i = 0; i < n; i++){
			if(i == n - 1) System.out.println(a[i]);
			else System.out.print(a[i] + " ");
		}
		System.out.println(count);
	} int flag = 1; flag 1 int i = 0; i 0 int temp; temp int count = 0; count 0 while(flag == 1){
			flag = 0;
			for(int j = n - 1; j >= i + 1; j--){
				if(a[j] < a[j - 1]){
					temp = a[j];
					a[j] = a[j-1];
					a[j - 1] = temp;
					count++;
					flag = 1;
				}
			}
			i++;
		} flag == 1 flag 1 {
			flag = 0;
			for(int j = n - 1; j >= i + 1; j--){
				if(a[j] < a[j - 1]){
					temp = a[j];
					a[j] = a[j-1];
					a[j - 1] = temp;
					count++;
					flag = 1;
				}
			}
			i++;
		} flag = 0 flag 0 for(int j = n - 1; j >= i + 1; j--){
				if(a[j] < a[j - 1]){
					temp = a[j];
					a[j] = a[j-1];
					a[j - 1] = temp;
					count++;
					flag = 1;
				}
			} int j = n - 1; int j = n - 1; j n - 1 n 1 j >= i + 1 j i + 1 i 1 j-- j-- j {
				if(a[j] < a[j - 1]){
					temp = a[j];
					a[j] = a[j-1];
					a[j - 1] = temp;
					count++;
					flag = 1;
				}
			} {
				if(a[j] < a[j - 1]){
					temp = a[j];
					a[j] = a[j-1];
					a[j - 1] = temp;
					count++;
					flag = 1;
				}
			} if(a[j] < a[j - 1]){
					temp = a[j];
					a[j] = a[j-1];
					a[j - 1] = temp;
					count++;
					flag = 1;
				} a[j] < a[j - 1] a[j] a j a[j - 1] a j - 1 j 1 {
					temp = a[j];
					a[j] = a[j-1];
					a[j - 1] = temp;
					count++;
					flag = 1;
				} temp = a[j] temp a[j] a j a[j] = a[j-1] a[j] a j a[j-1] a j-1 j 1 a[j - 1] = temp a[j - 1] a j - 1 j 1 temp count++ count flag = 1 flag 1 i++ i for(i = 0; i < n; i++){
			if(i == n - 1) System.out.println(a[i]);
			else System.out.print(a[i] + " ");
		} i = 0; i = 0 i 0 i < n i n i++ i++ i {
			if(i == n - 1) System.out.println(a[i]);
			else System.out.print(a[i] + " ");
		} {
			if(i == n - 1) System.out.println(a[i]);
			else System.out.print(a[i] + " ");
		} if(i == n - 1) System.out.println(a[i]);
			else System.out.print(a[i] + " "); i == n - 1 i n - 1 n 1 System.out.println(a[i]) System.out.println System.out System System.out a[i] a i System.out.print(a[i] + " ") System.out.print System.out System System.out a[i] + " " a[i] a i " " System.out.println(count) System.out.println System.out System System.out count int n n int a[] a public class Main {
	public static Scanner sc = new Scanner(System.in);
	public static void main(String[] args) {
		int i, j, k;
		int n = sc.nextInt();
		int a[] = new int[n];
		
		for(i = 0; i < n; i++){
			a[i] = sc.nextInt();
		}
		
		bubblesort(n, a);
	}
	public static void bubblesort(int n, int a[]){
		int flag = 1;
		int i = 0;
		int temp;
		int count = 0;
		while(flag == 1){
			flag = 0;
			for(int j = n - 1; j >= i + 1; j--){
				if(a[j] < a[j - 1]){
					temp = a[j];
					a[j] = a[j-1];
					a[j - 1] = temp;
					count++;
					flag = 1;
				}
			}
			i++;
		}
		for(i = 0; i < n; i++){
			if(i == n - 1) System.out.println(a[i]);
			else System.out.print(a[i] + " ");
		}
		System.out.println(count);
	}

} public class Main {
	public static Scanner sc = new Scanner(System.in);
	public static void main(String[] args) {
		int i, j, k;
		int n = sc.nextInt();
		int a[] = new int[n];
		
		for(i = 0; i < n; i++){
			a[i] = sc.nextInt();
		}
		
		bubblesort(n, a);
	}
	public static void bubblesort(int n, int a[]){
		int flag = 1;
		int i = 0;
		int temp;
		int count = 0;
		while(flag == 1){
			flag = 0;
			for(int j = n - 1; j >= i + 1; j--){
				if(a[j] < a[j - 1]){
					temp = a[j];
					a[j] = a[j-1];
					a[j - 1] = temp;
					count++;
					flag = 1;
				}
			}
			i++;
		}
		for(i = 0; i < n; i++){
			if(i == n - 1) System.out.println(a[i]);
			else System.out.print(a[i] + " ");
		}
		System.out.println(count);
	}

} Main
import java.util.Scanner;
public class Main {
	public static Scanner sc = new Scanner(System.in);
	public static void main(String[] args) {
		int i, j, k;
		int n = sc.nextInt();
		int a[] = new int[n];
		
		for(i = 0; i < n; i++){
			a[i] = sc.nextInt();
		}
		
		bubblesort(n, a);
	}
	public static void bubblesort(int n, int a[]){
		int flag = 1;
		int i = 0;
		int temp;
		int count = 0;
		while(flag == 1){
			flag = 0;
			for(int j = n - 1; j >= i + 1; j--){
				if(a[j] < a[j - 1]){
					temp = a[j];
					a[j] = a[j-1];
					a[j - 1] = temp;
					count++;
					flag = 1;
				}
			}
			i++;
		}
		for(i = 0; i < n; i++){
			if(i == n - 1) System.out.println(a[i]);
			else System.out.print(a[i] + " ");
		}
		System.out.println(count);
	}

}
