import java.util.Scanner;

class Main {
	public static void main(String args[]) {
		Scanner scanner = new Scanner(System.in);
		int  num = scanner.nextInt();//要素数
		int array[] = new int[num];
		
		for(int i = 0; i < num; i ++ ){
			array[i] = scanner.nextInt();
		}
		
		insertionSort(array, num);
		
		scanner.close();
	}

	public static int[] insertionSort( int[] array, int num){ // N個の要素を含む0-オリジンの配列A
		int sub;
		int comp = 0;
		int i;
		
		for(int cou = 0; cou < num; cou ++ ){
			System.out.print(array[cou]);
			if( cou == num - 1) {
			System.out.print("\n");
			}else {
				System.out.print(" ");
			}
		}
		
		for( i = 1; i <=  num - 1; i ++ ){
			sub = array[i];
			comp = i - 1;
			while( comp >= 0 && array[comp] > sub ){
				array[comp + 1] = array[comp];
				comp --;
			}
			array[comp + 1] = sub;
			
			for(int cou = 0; cou < num; cou ++ ){
				System.out.print(array[cou]);
				if( cou == num - 1) {
				System.out.print("\n");
				}else {
					System.out.print(" ");
				}
			}
		}
		return array;
	}
} import java.util.Scanner; Scanner java.util class Main {
	public static void main(String args[]) {
		Scanner scanner = new Scanner(System.in);
		int  num = scanner.nextInt();//要素数
		int array[] = new int[num];
		
		for(int i = 0; i < num; i ++ ){
			array[i] = scanner.nextInt();
		}
		
		insertionSort(array, num);
		
		scanner.close();
	}

	public static int[] insertionSort( int[] array, int num){ // N個の要素を含む0-オリジンの配列A
		int sub;
		int comp = 0;
		int i;
		
		for(int cou = 0; cou < num; cou ++ ){
			System.out.print(array[cou]);
			if( cou == num - 1) {
			System.out.print("\n");
			}else {
				System.out.print(" ");
			}
		}
		
		for( i = 1; i <=  num - 1; i ++ ){
			sub = array[i];
			comp = i - 1;
			while( comp >= 0 && array[comp] > sub ){
				array[comp + 1] = array[comp];
				comp --;
			}
			array[comp + 1] = sub;
			
			for(int cou = 0; cou < num; cou ++ ){
				System.out.print(array[cou]);
				if( cou == num - 1) {
				System.out.print("\n");
				}else {
					System.out.print(" ");
				}
			}
		}
		return array;
	}
} Main public static void main(String args[]) {
		Scanner scanner = new Scanner(System.in);
		int  num = scanner.nextInt();//要素数
		int array[] = new int[num];
		
		for(int i = 0; i < num; i ++ ){
			array[i] = scanner.nextInt();
		}
		
		insertionSort(array, num);
		
		scanner.close();
	} main {
		Scanner scanner = new Scanner(System.in);
		int  num = scanner.nextInt();//要素数
		int array[] = new int[num];
		
		for(int i = 0; i < num; i ++ ){
			array[i] = scanner.nextInt();
		}
		
		insertionSort(array, num);
		
		scanner.close();
	} Scanner scanner = new Scanner(System.in); scanner new Scanner(System.in) int  num = scanner.nextInt(); num scanner.nextInt() scanner.nextInt scanner int array[] = new int[num]; array new int[num] num for(int i = 0; i < num; i ++ ){
			array[i] = scanner.nextInt();
		} int i = 0; int i = 0; i 0 i < num i num i ++ i ++ i {
			array[i] = scanner.nextInt();
		} {
			array[i] = scanner.nextInt();
		} array[i] = scanner.nextInt() array[i] array i scanner.nextInt() scanner.nextInt scanner insertionSort(array, num) insertionSort array num scanner.close() scanner.close scanner String args[] args public static int[] insertionSort( int[] array, int num){ // N個の要素を含む0-オリジンの配列A
		int sub;
		int comp = 0;
		int i;
		
		for(int cou = 0; cou < num; cou ++ ){
			System.out.print(array[cou]);
			if( cou == num - 1) {
			System.out.print("\n");
			}else {
				System.out.print(" ");
			}
		}
		
		for( i = 1; i <=  num - 1; i ++ ){
			sub = array[i];
			comp = i - 1;
			while( comp >= 0 && array[comp] > sub ){
				array[comp + 1] = array[comp];
				comp --;
			}
			array[comp + 1] = sub;
			
			for(int cou = 0; cou < num; cou ++ ){
				System.out.print(array[cou]);
				if( cou == num - 1) {
				System.out.print("\n");
				}else {
					System.out.print(" ");
				}
			}
		}
		return array;
	} insertionSort { // N個の要素を含む0-オリジンの配列A
		int sub;
		int comp = 0;
		int i;
		
		for(int cou = 0; cou < num; cou ++ ){
			System.out.print(array[cou]);
			if( cou == num - 1) {
			System.out.print("\n");
			}else {
				System.out.print(" ");
			}
		}
		
		for( i = 1; i <=  num - 1; i ++ ){
			sub = array[i];
			comp = i - 1;
			while( comp >= 0 && array[comp] > sub ){
				array[comp + 1] = array[comp];
				comp --;
			}
			array[comp + 1] = sub;
			
			for(int cou = 0; cou < num; cou ++ ){
				System.out.print(array[cou]);
				if( cou == num - 1) {
				System.out.print("\n");
				}else {
					System.out.print(" ");
				}
			}
		}
		return array;
	} int sub; sub int comp = 0; comp 0 int i; i for(int cou = 0; cou < num; cou ++ ){
			System.out.print(array[cou]);
			if( cou == num - 1) {
			System.out.print("\n");
			}else {
				System.out.print(" ");
			}
		} int cou = 0; int cou = 0; cou 0 cou < num cou num cou ++ cou ++ cou {
			System.out.print(array[cou]);
			if( cou == num - 1) {
			System.out.print("\n");
			}else {
				System.out.print(" ");
			}
		} {
			System.out.print(array[cou]);
			if( cou == num - 1) {
			System.out.print("\n");
			}else {
				System.out.print(" ");
			}
		} System.out.print(array[cou]) System.out.print System.out System System.out array[cou] array cou if( cou == num - 1) {
			System.out.print("\n");
			}else {
				System.out.print(" ");
			} cou == num - 1 cou num - 1 num 1 {
			System.out.print("\n");
			} System.out.print("\n") System.out.print System.out System System.out "\n" {
				System.out.print(" ");
			} System.out.print(" ") System.out.print System.out System System.out " " for( i = 1; i <=  num - 1; i ++ ){
			sub = array[i];
			comp = i - 1;
			while( comp >= 0 && array[comp] > sub ){
				array[comp + 1] = array[comp];
				comp --;
			}
			array[comp + 1] = sub;
			
			for(int cou = 0; cou < num; cou ++ ){
				System.out.print(array[cou]);
				if( cou == num - 1) {
				System.out.print("\n");
				}else {
					System.out.print(" ");
				}
			}
		} i = 1; i = 1 i 1 i <=  num - 1 i num - 1 num 1 i ++ i ++ i {
			sub = array[i];
			comp = i - 1;
			while( comp >= 0 && array[comp] > sub ){
				array[comp + 1] = array[comp];
				comp --;
			}
			array[comp + 1] = sub;
			
			for(int cou = 0; cou < num; cou ++ ){
				System.out.print(array[cou]);
				if( cou == num - 1) {
				System.out.print("\n");
				}else {
					System.out.print(" ");
				}
			}
		} {
			sub = array[i];
			comp = i - 1;
			while( comp >= 0 && array[comp] > sub ){
				array[comp + 1] = array[comp];
				comp --;
			}
			array[comp + 1] = sub;
			
			for(int cou = 0; cou < num; cou ++ ){
				System.out.print(array[cou]);
				if( cou == num - 1) {
				System.out.print("\n");
				}else {
					System.out.print(" ");
				}
			}
		} sub = array[i] sub array[i] array i comp = i - 1 comp i - 1 i 1 while( comp >= 0 && array[comp] > sub ){
				array[comp + 1] = array[comp];
				comp --;
			} comp >= 0 && array[comp] > sub comp >= 0 comp 0 array[comp] > sub array[comp] array comp sub {
				array[comp + 1] = array[comp];
				comp --;
			} array[comp + 1] = array[comp] array[comp + 1] array comp + 1 comp 1 array[comp] array comp comp -- comp array[comp + 1] = sub array[comp + 1] array comp + 1 comp 1 sub for(int cou = 0; cou < num; cou ++ ){
				System.out.print(array[cou]);
				if( cou == num - 1) {
				System.out.print("\n");
				}else {
					System.out.print(" ");
				}
			} int cou = 0; int cou = 0; cou 0 cou < num cou num cou ++ cou ++ cou {
				System.out.print(array[cou]);
				if( cou == num - 1) {
				System.out.print("\n");
				}else {
					System.out.print(" ");
				}
			} {
				System.out.print(array[cou]);
				if( cou == num - 1) {
				System.out.print("\n");
				}else {
					System.out.print(" ");
				}
			} System.out.print(array[cou]) System.out.print System.out System System.out array[cou] array cou if( cou == num - 1) {
				System.out.print("\n");
				}else {
					System.out.print(" ");
				} cou == num - 1 cou num - 1 num 1 {
				System.out.print("\n");
				} System.out.print("\n") System.out.print System.out System System.out "\n" {
					System.out.print(" ");
				} System.out.print(" ") System.out.print System.out System System.out " " return array; array int[] array array int num num
import java.util.Scanner;

class Main {
	public static void main(String args[]) {
		Scanner scanner = new Scanner(System.in);
		int  num = scanner.nextInt();//要素数
		int array[] = new int[num];
		
		for(int i = 0; i < num; i ++ ){
			array[i] = scanner.nextInt();
		}
		
		insertionSort(array, num);
		
		scanner.close();
	}

	public static int[] insertionSort( int[] array, int num){ // N個の要素を含む0-オリジンの配列A
		int sub;
		int comp = 0;
		int i;
		
		for(int cou = 0; cou < num; cou ++ ){
			System.out.print(array[cou]);
			if( cou == num - 1) {
			System.out.print("\n");
			}else {
				System.out.print(" ");
			}
		}
		
		for( i = 1; i <=  num - 1; i ++ ){
			sub = array[i];
			comp = i - 1;
			while( comp >= 0 && array[comp] > sub ){
				array[comp + 1] = array[comp];
				comp --;
			}
			array[comp + 1] = sub;
			
			for(int cou = 0; cou < num; cou ++ ){
				System.out.print(array[cou]);
				if( cou == num - 1) {
				System.out.print("\n");
				}else {
					System.out.print(" ");
				}
			}
		}
		return array;
	}
}
