import java.util.Scanner;

class Main {

	public static void main(String args[]) {
		Scanner scan = new Scanner(System.in);
		int num;
		num = scan.nextInt();
		int[] array = new int[num];
		for (int i = 0; i < num; i++) {
			array[i] = scan.nextInt();
		}
		insertionSort(array);
		scan.close();

	}

	private static void insertionSort(int[] A) {
		// N個の要素を含む0-オリジンの配列A
		int v = 0;
		int j = 0;
		for (int i = 0; i < A.length; i++) {
			v = A[i];
			j = i - 1;
			while (j >= 0 && A[j] > v) {
				A[j + 1] = A[j];
				j -= 1;
				A[j + 1] = v;

			}
			for (int n = 0; n < A.length; n++) {
				if (n > 0) {
					System.out.print(" ");
				}
				System.out.print(A[n]);
			}
			System.out.print("\r\n");

		}
	}
}

/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz