import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {

	public static void printArray(List<Integer> array) {
		StringBuilder sb = new StringBuilder();
		sb.append(array.get(0));
		for (int j = 1; j < array.size(); j++) {
			sb.append(" ").append(array.get(j));
		}
		System.out.println(sb.toString());
	}
	public static List<Integer> insertSort (List<Integer> baseArray) {
		printArray(baseArray);
		for (int i = 1; i < baseArray.size(); i++) {
			int key = baseArray.get(i);
			int j = i - 1;
			while (j >= 0 && baseArray.get(j) > key) {
				baseArray.set(j + 1, baseArray.get(j));
				j--;
			}
			baseArray.set(j + 1, key);
			//System.out.println("Processing array=" + baseArray);
			printArray(baseArray);
		}
		return baseArray;
	}

	public static void solve (InputStream ins) {
		Scanner sc = new Scanner(ins);
		int num = sc.nextInt();
		List<Integer> baseArray = new ArrayList<Integer>();
		for (int i = 0; i  < num; i++) {
			baseArray.add(sc.nextInt());
		}
		insertSort(baseArray);
	}

	public static void main (String[] args) {
		solve(System.in);
	}
} import java.io.InputStream; InputStream java.io import java.util.ArrayList; ArrayList java.util import java.util.List; List java.util import java.util.Scanner; Scanner java.util public class Main {

	public static void printArray(List<Integer> array) {
		StringBuilder sb = new StringBuilder();
		sb.append(array.get(0));
		for (int j = 1; j < array.size(); j++) {
			sb.append(" ").append(array.get(j));
		}
		System.out.println(sb.toString());
	}
	public static List<Integer> insertSort (List<Integer> baseArray) {
		printArray(baseArray);
		for (int i = 1; i < baseArray.size(); i++) {
			int key = baseArray.get(i);
			int j = i - 1;
			while (j >= 0 && baseArray.get(j) > key) {
				baseArray.set(j + 1, baseArray.get(j));
				j--;
			}
			baseArray.set(j + 1, key);
			//System.out.println("Processing array=" + baseArray);
			printArray(baseArray);
		}
		return baseArray;
	}

	public static void solve (InputStream ins) {
		Scanner sc = new Scanner(ins);
		int num = sc.nextInt();
		List<Integer> baseArray = new ArrayList<Integer>();
		for (int i = 0; i  < num; i++) {
			baseArray.add(sc.nextInt());
		}
		insertSort(baseArray);
	}

	public static void main (String[] args) {
		solve(System.in);
	}
} Main public static void printArray(List<Integer> array) {
		StringBuilder sb = new StringBuilder();
		sb.append(array.get(0));
		for (int j = 1; j < array.size(); j++) {
			sb.append(" ").append(array.get(j));
		}
		System.out.println(sb.toString());
	} printArray {
		StringBuilder sb = new StringBuilder();
		sb.append(array.get(0));
		for (int j = 1; j < array.size(); j++) {
			sb.append(" ").append(array.get(j));
		}
		System.out.println(sb.toString());
	} StringBuilder sb = new StringBuilder(); sb new StringBuilder() sb.append(array.get(0)) sb.append sb array.get(0) array.get array 0 for (int j = 1; j < array.size(); j++) {
			sb.append(" ").append(array.get(j));
		} int j = 1; int j = 1; j 1 j < array.size() j array.size() array.size array j++ j++ j {
			sb.append(" ").append(array.get(j));
		} {
			sb.append(" ").append(array.get(j));
		} sb.append(" ").append(array.get(j)) sb.append(" ").append sb.append(" ") sb.append sb " " array.get(j) array.get array j System.out.println(sb.toString()) System.out.println System.out System System.out sb.toString() sb.toString sb List<Integer> array array public static List<Integer> insertSort (List<Integer> baseArray) {
		printArray(baseArray);
		for (int i = 1; i < baseArray.size(); i++) {
			int key = baseArray.get(i);
			int j = i - 1;
			while (j >= 0 && baseArray.get(j) > key) {
				baseArray.set(j + 1, baseArray.get(j));
				j--;
			}
			baseArray.set(j + 1, key);
			//System.out.println("Processing array=" + baseArray);
			printArray(baseArray);
		}
		return baseArray;
	} insertSort {
		printArray(baseArray);
		for (int i = 1; i < baseArray.size(); i++) {
			int key = baseArray.get(i);
			int j = i - 1;
			while (j >= 0 && baseArray.get(j) > key) {
				baseArray.set(j + 1, baseArray.get(j));
				j--;
			}
			baseArray.set(j + 1, key);
			//System.out.println("Processing array=" + baseArray);
			printArray(baseArray);
		}
		return baseArray;
	} printArray(baseArray) printArray baseArray for (int i = 1; i < baseArray.size(); i++) {
			int key = baseArray.get(i);
			int j = i - 1;
			while (j >= 0 && baseArray.get(j) > key) {
				baseArray.set(j + 1, baseArray.get(j));
				j--;
			}
			baseArray.set(j + 1, key);
			//System.out.println("Processing array=" + baseArray);
			printArray(baseArray);
		} int i = 1; int i = 1; i 1 i < baseArray.size() i baseArray.size() baseArray.size baseArray i++ i++ i {
			int key = baseArray.get(i);
			int j = i - 1;
			while (j >= 0 && baseArray.get(j) > key) {
				baseArray.set(j + 1, baseArray.get(j));
				j--;
			}
			baseArray.set(j + 1, key);
			//System.out.println("Processing array=" + baseArray);
			printArray(baseArray);
		} {
			int key = baseArray.get(i);
			int j = i - 1;
			while (j >= 0 && baseArray.get(j) > key) {
				baseArray.set(j + 1, baseArray.get(j));
				j--;
			}
			baseArray.set(j + 1, key);
			//System.out.println("Processing array=" + baseArray);
			printArray(baseArray);
		} int key = baseArray.get(i); key baseArray.get(i) baseArray.get baseArray i int j = i - 1; j i - 1 i 1 while (j >= 0 && baseArray.get(j) > key) {
				baseArray.set(j + 1, baseArray.get(j));
				j--;
			} j >= 0 && baseArray.get(j) > key j >= 0 j 0 baseArray.get(j) > key baseArray.get(j) baseArray.get baseArray j key {
				baseArray.set(j + 1, baseArray.get(j));
				j--;
			} baseArray.set(j + 1, baseArray.get(j)) baseArray.set baseArray j + 1 j 1 baseArray.get(j) baseArray.get baseArray j j-- j baseArray.set(j + 1, key) baseArray.set baseArray j + 1 j 1 key printArray(baseArray) printArray baseArray return baseArray; baseArray List<Integer> baseArray baseArray public static void solve (InputStream ins) {
		Scanner sc = new Scanner(ins);
		int num = sc.nextInt();
		List<Integer> baseArray = new ArrayList<Integer>();
		for (int i = 0; i  < num; i++) {
			baseArray.add(sc.nextInt());
		}
		insertSort(baseArray);
	} solve {
		Scanner sc = new Scanner(ins);
		int num = sc.nextInt();
		List<Integer> baseArray = new ArrayList<Integer>();
		for (int i = 0; i  < num; i++) {
			baseArray.add(sc.nextInt());
		}
		insertSort(baseArray);
	} Scanner sc = new Scanner(ins); sc new Scanner(ins) int num = sc.nextInt(); num sc.nextInt() sc.nextInt sc List<Integer> baseArray = new ArrayList<Integer>(); baseArray new ArrayList<Integer>() for (int i = 0; i  < num; i++) {
			baseArray.add(sc.nextInt());
		} int i = 0; int i = 0; i 0 i  < num i num i++ i++ i {
			baseArray.add(sc.nextInt());
		} {
			baseArray.add(sc.nextInt());
		} baseArray.add(sc.nextInt()) baseArray.add baseArray sc.nextInt() sc.nextInt sc insertSort(baseArray) insertSort baseArray InputStream ins ins public static void main (String[] args) {
		solve(System.in);
	} main {
		solve(System.in);
	} solve(System.in) solve System.in System System.in String[] args args public class Main {

	public static void printArray(List<Integer> array) {
		StringBuilder sb = new StringBuilder();
		sb.append(array.get(0));
		for (int j = 1; j < array.size(); j++) {
			sb.append(" ").append(array.get(j));
		}
		System.out.println(sb.toString());
	}
	public static List<Integer> insertSort (List<Integer> baseArray) {
		printArray(baseArray);
		for (int i = 1; i < baseArray.size(); i++) {
			int key = baseArray.get(i);
			int j = i - 1;
			while (j >= 0 && baseArray.get(j) > key) {
				baseArray.set(j + 1, baseArray.get(j));
				j--;
			}
			baseArray.set(j + 1, key);
			//System.out.println("Processing array=" + baseArray);
			printArray(baseArray);
		}
		return baseArray;
	}

	public static void solve (InputStream ins) {
		Scanner sc = new Scanner(ins);
		int num = sc.nextInt();
		List<Integer> baseArray = new ArrayList<Integer>();
		for (int i = 0; i  < num; i++) {
			baseArray.add(sc.nextInt());
		}
		insertSort(baseArray);
	}

	public static void main (String[] args) {
		solve(System.in);
	}
} public class Main {

	public static void printArray(List<Integer> array) {
		StringBuilder sb = new StringBuilder();
		sb.append(array.get(0));
		for (int j = 1; j < array.size(); j++) {
			sb.append(" ").append(array.get(j));
		}
		System.out.println(sb.toString());
	}
	public static List<Integer> insertSort (List<Integer> baseArray) {
		printArray(baseArray);
		for (int i = 1; i < baseArray.size(); i++) {
			int key = baseArray.get(i);
			int j = i - 1;
			while (j >= 0 && baseArray.get(j) > key) {
				baseArray.set(j + 1, baseArray.get(j));
				j--;
			}
			baseArray.set(j + 1, key);
			//System.out.println("Processing array=" + baseArray);
			printArray(baseArray);
		}
		return baseArray;
	}

	public static void solve (InputStream ins) {
		Scanner sc = new Scanner(ins);
		int num = sc.nextInt();
		List<Integer> baseArray = new ArrayList<Integer>();
		for (int i = 0; i  < num; i++) {
			baseArray.add(sc.nextInt());
		}
		insertSort(baseArray);
	}

	public static void main (String[] args) {
		solve(System.in);
	}
} Main
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {

	public static void printArray(List<Integer> array) {
		StringBuilder sb = new StringBuilder();
		sb.append(array.get(0));
		for (int j = 1; j < array.size(); j++) {
			sb.append(" ").append(array.get(j));
		}
		System.out.println(sb.toString());
	}
	public static List<Integer> insertSort (List<Integer> baseArray) {
		printArray(baseArray);
		for (int i = 1; i < baseArray.size(); i++) {
			int key = baseArray.get(i);
			int j = i - 1;
			while (j >= 0 && baseArray.get(j) > key) {
				baseArray.set(j + 1, baseArray.get(j));
				j--;
			}
			baseArray.set(j + 1, key);
			//System.out.println("Processing array=" + baseArray);
			printArray(baseArray);
		}
		return baseArray;
	}

	public static void solve (InputStream ins) {
		Scanner sc = new Scanner(ins);
		int num = sc.nextInt();
		List<Integer> baseArray = new ArrayList<Integer>();
		for (int i = 0; i  < num; i++) {
			baseArray.add(sc.nextInt());
		}
		insertSort(baseArray);
	}

	public static void main (String[] args) {
		solve(System.in);
	}
}