content: import java.io.*;
  import java.math.*;
  import java.security.*;
  import java.text.*;
  import java.util.*;
  import java.util.concurrent.*;
  import java.util.regex.*;
  
  public class solution {
  
      // Complete the insertionSort2 function below.
      public static void insertionSort2(int n, int[] array) {
          for (int i = 1; i < n; i++) {
              int j = i;
              int value = array[i];
              // for each value find it's correct place and insert it at correct position
              while (j >= 1 && array[j - 1] > value) {
                  array[j] = array[j - 1];
                  j--;
              }
              array[j] = value;
              // print the final array
              printArray(array);
          }
      }
  
      public static void printArray(int[] array) {
          for (int i = 0; i < array.length; i++)
              System.out.print(array[i] + " ");
          System.out.println("");
      }
  
      private static final Scanner scanner = new Scanner(System.in);
  
      public static void main(String[] args) {
          int n = scanner.nextInt();
          scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
  
          int[] arr = new int[n];
  
          String[] arrItems = scanner.nextLine().split(" ");
          scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
  
          for (int i = 0; i < n; i++) {
              int arrItem = Integer.parseInt(arrItems[i]);
              arr[i] = arrItem;
          }
  
          insertionSort2(n, arr);
  
          scanner.close();
      }
  }
  