public class Main{
  public void run(java.io.InputStream in, java.io.PrintStream out){
    java.util.Scanner sc = new java.util.Scanner(in);
/*answer*/
    int n;
    int[] a;
    int i, j, count, tmp;

    n = sc.nextInt();
    a = new int[n];
    for(i = 0;i < n;i++){
      a[i] = sc.nextInt();
    }

    count = 0;

    for(i = 0;i < n - 1;i++){
      for(j = 0;j < n - 1 - i;j++){
        if(a[j] > a[j + 1]){
          tmp = a[j];
          a[j] = a[j + 1];
          a[j + 1] = tmp;
          count++;
        }
      }
    }

    for(i = 0;i < n - 1;i++){
      System.out.print(a[i] + " ");
    }
    System.out.println(a[n - 1]);
    System.out.println(count);

    sc.close();
  }
  public static void main(String[] args){
    (new Main()).run(System.in, System.out);
  }
} public class Main{
  public void run(java.io.InputStream in, java.io.PrintStream out){
    java.util.Scanner sc = new java.util.Scanner(in);
/*answer*/
    int n;
    int[] a;
    int i, j, count, tmp;

    n = sc.nextInt();
    a = new int[n];
    for(i = 0;i < n;i++){
      a[i] = sc.nextInt();
    }

    count = 0;

    for(i = 0;i < n - 1;i++){
      for(j = 0;j < n - 1 - i;j++){
        if(a[j] > a[j + 1]){
          tmp = a[j];
          a[j] = a[j + 1];
          a[j + 1] = tmp;
          count++;
        }
      }
    }

    for(i = 0;i < n - 1;i++){
      System.out.print(a[i] + " ");
    }
    System.out.println(a[n - 1]);
    System.out.println(count);

    sc.close();
  }
  public static void main(String[] args){
    (new Main()).run(System.in, System.out);
  }
} Main public void run(java.io.InputStream in, java.io.PrintStream out){
    java.util.Scanner sc = new java.util.Scanner(in);
/*answer*/
    int n;
    int[] a;
    int i, j, count, tmp;

    n = sc.nextInt();
    a = new int[n];
    for(i = 0;i < n;i++){
      a[i] = sc.nextInt();
    }

    count = 0;

    for(i = 0;i < n - 1;i++){
      for(j = 0;j < n - 1 - i;j++){
        if(a[j] > a[j + 1]){
          tmp = a[j];
          a[j] = a[j + 1];
          a[j + 1] = tmp;
          count++;
        }
      }
    }

    for(i = 0;i < n - 1;i++){
      System.out.print(a[i] + " ");
    }
    System.out.println(a[n - 1]);
    System.out.println(count);

    sc.close();
  } run {
    java.util.Scanner sc = new java.util.Scanner(in);
/*answer*/
    int n;
    int[] a;
    int i, j, count, tmp;

    n = sc.nextInt();
    a = new int[n];
    for(i = 0;i < n;i++){
      a[i] = sc.nextInt();
    }

    count = 0;

    for(i = 0;i < n - 1;i++){
      for(j = 0;j < n - 1 - i;j++){
        if(a[j] > a[j + 1]){
          tmp = a[j];
          a[j] = a[j + 1];
          a[j + 1] = tmp;
          count++;
        }
      }
    }

    for(i = 0;i < n - 1;i++){
      System.out.print(a[i] + " ");
    }
    System.out.println(a[n - 1]);
    System.out.println(count);

    sc.close();
  } java.util.Scanner sc = new java.util.Scanner(in); sc new java.util.Scanner(in) int n; n int[] a; a int i i j j count count tmp; tmp n = sc.nextInt() n sc.nextInt() sc.nextInt sc 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 count = 0 count 0 for(i = 0;i < n - 1;i++){
      for(j = 0;j < n - 1 - i;j++){
        if(a[j] > a[j + 1]){
          tmp = a[j];
          a[j] = a[j + 1];
          a[j + 1] = tmp;
          count++;
        }
      }
    } i = 0; i = 0 i 0 i < n - 1 i n - 1 n 1 i++ i++ i {
      for(j = 0;j < n - 1 - i;j++){
        if(a[j] > a[j + 1]){
          tmp = a[j];
          a[j] = a[j + 1];
          a[j + 1] = tmp;
          count++;
        }
      }
    } {
      for(j = 0;j < n - 1 - i;j++){
        if(a[j] > a[j + 1]){
          tmp = a[j];
          a[j] = a[j + 1];
          a[j + 1] = tmp;
          count++;
        }
      }
    } for(j = 0;j < n - 1 - i;j++){
        if(a[j] > a[j + 1]){
          tmp = a[j];
          a[j] = a[j + 1];
          a[j + 1] = tmp;
          count++;
        }
      } j = 0; j = 0 j 0 j < n - 1 - i j n - 1 - i n - 1 - i n 1 i j++ j++ j {
        if(a[j] > a[j + 1]){
          tmp = a[j];
          a[j] = a[j + 1];
          a[j + 1] = tmp;
          count++;
        }
      } {
        if(a[j] > a[j + 1]){
          tmp = a[j];
          a[j] = a[j + 1];
          a[j + 1] = tmp;
          count++;
        }
      } if(a[j] > a[j + 1]){
          tmp = a[j];
          a[j] = a[j + 1];
          a[j + 1] = tmp;
          count++;
        } a[j] > a[j + 1] a[j] a j a[j + 1] a j + 1 j 1 {
          tmp = a[j];
          a[j] = a[j + 1];
          a[j + 1] = tmp;
          count++;
        } tmp = a[j] tmp a[j] a j a[j] = a[j + 1] a[j] a j a[j + 1] a j + 1 j 1 a[j + 1] = tmp a[j + 1] a j + 1 j 1 tmp count++ count for(i = 0;i < n - 1;i++){
      System.out.print(a[i] + " ");
    } i = 0; i = 0 i 0 i < n - 1 i n - 1 n 1 i++ i++ i {
      System.out.print(a[i] + " ");
    } {
      System.out.print(a[i] + " ");
    } System.out.print(a[i] + " ") System.out.print System.out System System.out a[i] + " " a[i] a i " " System.out.println(a[n - 1]) System.out.println System.out System System.out a[n - 1] a n - 1 n 1 System.out.println(count) System.out.println System.out System System.out count sc.close() sc.close sc java.io.InputStream in in java.io.PrintStream out out public static void main(String[] args){
    (new Main()).run(System.in, System.out);
  } main {
    (new Main()).run(System.in, System.out);
  } (new Main()).run(System.in, System.out) (new Main()).run (new Main()) System.in System System.in System.out System System.out String[] args args public class Main{
  public void run(java.io.InputStream in, java.io.PrintStream out){
    java.util.Scanner sc = new java.util.Scanner(in);
/*answer*/
    int n;
    int[] a;
    int i, j, count, tmp;

    n = sc.nextInt();
    a = new int[n];
    for(i = 0;i < n;i++){
      a[i] = sc.nextInt();
    }

    count = 0;

    for(i = 0;i < n - 1;i++){
      for(j = 0;j < n - 1 - i;j++){
        if(a[j] > a[j + 1]){
          tmp = a[j];
          a[j] = a[j + 1];
          a[j + 1] = tmp;
          count++;
        }
      }
    }

    for(i = 0;i < n - 1;i++){
      System.out.print(a[i] + " ");
    }
    System.out.println(a[n - 1]);
    System.out.println(count);

    sc.close();
  }
  public static void main(String[] args){
    (new Main()).run(System.in, System.out);
  }
} public class Main{
  public void run(java.io.InputStream in, java.io.PrintStream out){
    java.util.Scanner sc = new java.util.Scanner(in);
/*answer*/
    int n;
    int[] a;
    int i, j, count, tmp;

    n = sc.nextInt();
    a = new int[n];
    for(i = 0;i < n;i++){
      a[i] = sc.nextInt();
    }

    count = 0;

    for(i = 0;i < n - 1;i++){
      for(j = 0;j < n - 1 - i;j++){
        if(a[j] > a[j + 1]){
          tmp = a[j];
          a[j] = a[j + 1];
          a[j + 1] = tmp;
          count++;
        }
      }
    }

    for(i = 0;i < n - 1;i++){
      System.out.print(a[i] + " ");
    }
    System.out.println(a[n - 1]);
    System.out.println(count);

    sc.close();
  }
  public static void main(String[] args){
    (new Main()).run(System.in, System.out);
  }
} Main
public class Main{
  public void run(java.io.InputStream in, java.io.PrintStream out){
    java.util.Scanner sc = new java.util.Scanner(in);
/*answer*/
    int n;
    int[] a;
    int i, j, count, tmp;

    n = sc.nextInt();
    a = new int[n];
    for(i = 0;i < n;i++){
      a[i] = sc.nextInt();
    }

    count = 0;

    for(i = 0;i < n - 1;i++){
      for(j = 0;j < n - 1 - i;j++){
        if(a[j] > a[j + 1]){
          tmp = a[j];
          a[j] = a[j + 1];
          a[j + 1] = tmp;
          count++;
        }
      }
    }

    for(i = 0;i < n - 1;i++){
      System.out.print(a[i] + " ");
    }
    System.out.println(a[n - 1]);
    System.out.println(count);

    sc.close();
  }
  public static void main(String[] args){
    (new Main()).run(System.in, System.out);
  }
}