import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.lang.StringBuffer;

/*Question
/?????\????????????Insertion Sort?????????????????????????????????????????????????????¨??????????????????????????¶??§???????????????????????¢?????´????????????????????§??????
/??????????????£????????????????????????????°????????????????????????´???????????????????????????????????????????????????????????????????????§?????§???????????????????????????????????????????????????????????\?????????????????¨????????£??????????????????????????????????????¨?????§????????????
/?????\?????????????¬???????????????¢?????´???????????????????????????
/1 insertionSort(A, N) // N??????????´??????????0-?????????????????????A
/2 for i ??? 1 ?????? N-1 ?????§
/3 v = A[i]
/4 j = i - 1
/5 while j >= 0 ?????? A[j] > v
/6 A[j+1] = A[j]
/7 j--
/8 A[j+1] = v
/N ??????????´????????????°??? A ????????????????????????????????\????????????????????°????????????????????????????????????
/????????????????????????????????¢?????´????????????????£????????????????????????¢?????´??????????????????????¢???????????????????????¨??????????????????§??????????????\?????´??????????????¨?????? i ??????????????????????????´????????????????????????????????????????????? 
*/

/*Input
/??\??????????????????????????°?????????????????¨?????´??° N ????????????????????????2 ????????????N ????????´??°????????????????????§????????????????????? 
*/

public class Main {
	public static void main(String[] args) throws Exception{
		BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
		/*??\???
		/??????????´???°?????\???????¬??????°????????\???
		*/
		int n = Integer.parseInt(sc.readLine());
		String[] st = sc.readLine().split(" ");
		int[] a = new int[st.length];
		for(int i = 0;i < st.length;i++){
			a[i] = Integer.parseInt(st[i]);
		}
		show(a);
		insertionSort(a,n);
	}

	/*insertionSort????????????
	/?¨??????????????????????
	/
	*/

	public static void insertionSort(int[] a,int n) {
		int v;
		int j;
		for(int i = 1;i < n;i++){
			v = a[i];
			j = i-1;
			while(j >= 0 && a[j] > v){
				a[j+1] = a[j];
				j--;
				a[j+1] = v;
			}
			show(a);
		}
	}

	public static void show(int[] a){
		//????????¨
		StringBuffer br = new StringBuffer();
		for(int s:a)
			br.append(s+" ");
		br.deleteCharAt(br.lastIndexOf(" "));
		br.append("\n");
		System.out.print(br);
	}
} import java.io.BufferedReader; BufferedReader java.io import java.io.InputStreamReader; InputStreamReader java.io import java.lang.StringBuffer; StringBuffer java.lang public class Main {
	public static void main(String[] args) throws Exception{
		BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
		/*??\???
		/??????????´???°?????\???????¬??????°????????\???
		*/
		int n = Integer.parseInt(sc.readLine());
		String[] st = sc.readLine().split(" ");
		int[] a = new int[st.length];
		for(int i = 0;i < st.length;i++){
			a[i] = Integer.parseInt(st[i]);
		}
		show(a);
		insertionSort(a,n);
	}

	/*insertionSort????????????
	/?¨??????????????????????
	/
	*/

	public static void insertionSort(int[] a,int n) {
		int v;
		int j;
		for(int i = 1;i < n;i++){
			v = a[i];
			j = i-1;
			while(j >= 0 && a[j] > v){
				a[j+1] = a[j];
				j--;
				a[j+1] = v;
			}
			show(a);
		}
	}

	public static void show(int[] a){
		//????????¨
		StringBuffer br = new StringBuffer();
		for(int s:a)
			br.append(s+" ");
		br.deleteCharAt(br.lastIndexOf(" "));
		br.append("\n");
		System.out.print(br);
	}
} Main public static void main(String[] args) throws Exception{
		BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
		/*??\???
		/??????????´???°?????\???????¬??????°????????\???
		*/
		int n = Integer.parseInt(sc.readLine());
		String[] st = sc.readLine().split(" ");
		int[] a = new int[st.length];
		for(int i = 0;i < st.length;i++){
			a[i] = Integer.parseInt(st[i]);
		}
		show(a);
		insertionSort(a,n);
	} main {
		BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
		/*??\???
		/??????????´???°?????\???????¬??????°????????\???
		*/
		int n = Integer.parseInt(sc.readLine());
		String[] st = sc.readLine().split(" ");
		int[] a = new int[st.length];
		for(int i = 0;i < st.length;i++){
			a[i] = Integer.parseInt(st[i]);
		}
		show(a);
		insertionSort(a,n);
	} BufferedReader sc = new BufferedReader(new InputStreamReader(System.in)); sc new BufferedReader(new InputStreamReader(System.in)) int n = Integer.parseInt(sc.readLine()); n Integer.parseInt(sc.readLine()) Integer.parseInt Integer sc.readLine() sc.readLine sc String[] st = sc.readLine().split(" "); st sc.readLine().split(" ") sc.readLine().split sc.readLine() sc.readLine sc " " int[] a = new int[st.length]; a new int[st.length] st.length st st.length for(int i = 0;i < st.length;i++){
			a[i] = Integer.parseInt(st[i]);
		} int i = 0; int i = 0; i 0 i < st.length i st.length st st.length i++ i++ i {
			a[i] = Integer.parseInt(st[i]);
		} {
			a[i] = Integer.parseInt(st[i]);
		} a[i] = Integer.parseInt(st[i]) a[i] a i Integer.parseInt(st[i]) Integer.parseInt Integer st[i] st i show(a) show a insertionSort(a,n) insertionSort a n String[] args args public static void insertionSort(int[] a,int n) {
		int v;
		int j;
		for(int i = 1;i < n;i++){
			v = a[i];
			j = i-1;
			while(j >= 0 && a[j] > v){
				a[j+1] = a[j];
				j--;
				a[j+1] = v;
			}
			show(a);
		}
	} insertionSort {
		int v;
		int j;
		for(int i = 1;i < n;i++){
			v = a[i];
			j = i-1;
			while(j >= 0 && a[j] > v){
				a[j+1] = a[j];
				j--;
				a[j+1] = v;
			}
			show(a);
		}
	} int v; v int j; j for(int i = 1;i < n;i++){
			v = a[i];
			j = i-1;
			while(j >= 0 && a[j] > v){
				a[j+1] = a[j];
				j--;
				a[j+1] = v;
			}
			show(a);
		} int i = 1; int i = 1; i 1 i < n i n i++ i++ i {
			v = a[i];
			j = i-1;
			while(j >= 0 && a[j] > v){
				a[j+1] = a[j];
				j--;
				a[j+1] = v;
			}
			show(a);
		} {
			v = a[i];
			j = i-1;
			while(j >= 0 && a[j] > v){
				a[j+1] = a[j];
				j--;
				a[j+1] = v;
			}
			show(a);
		} v = a[i] v a[i] a i j = i-1 j i-1 i 1 while(j >= 0 && a[j] > v){
				a[j+1] = a[j];
				j--;
				a[j+1] = v;
			} j >= 0 && a[j] > v j >= 0 j 0 a[j] > v a[j] a j v {
				a[j+1] = a[j];
				j--;
				a[j+1] = v;
			} a[j+1] = a[j] a[j+1] a j+1 j 1 a[j] a j j-- j a[j+1] = v a[j+1] a j+1 j 1 v show(a) show a int[] a a int n n public static void show(int[] a){
		//????????¨
		StringBuffer br = new StringBuffer();
		for(int s:a)
			br.append(s+" ");
		br.deleteCharAt(br.lastIndexOf(" "));
		br.append("\n");
		System.out.print(br);
	} show {
		//????????¨
		StringBuffer br = new StringBuffer();
		for(int s:a)
			br.append(s+" ");
		br.deleteCharAt(br.lastIndexOf(" "));
		br.append("\n");
		System.out.print(br);
	} StringBuffer br = new StringBuffer(); br new StringBuffer() for(int s:a)
			br.append(s+" "); int s a br.append(s+" "); br.append(s+" ") br.append br s+" " s " " br.deleteCharAt(br.lastIndexOf(" ")) br.deleteCharAt br br.lastIndexOf(" ") br.lastIndexOf br " " br.append("\n") br.append br "\n" System.out.print(br) System.out.print System.out System System.out br int[] a a public class Main {
	public static void main(String[] args) throws Exception{
		BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
		/*??\???
		/??????????´???°?????\???????¬??????°????????\???
		*/
		int n = Integer.parseInt(sc.readLine());
		String[] st = sc.readLine().split(" ");
		int[] a = new int[st.length];
		for(int i = 0;i < st.length;i++){
			a[i] = Integer.parseInt(st[i]);
		}
		show(a);
		insertionSort(a,n);
	}

	/*insertionSort????????????
	/?¨??????????????????????
	/
	*/

	public static void insertionSort(int[] a,int n) {
		int v;
		int j;
		for(int i = 1;i < n;i++){
			v = a[i];
			j = i-1;
			while(j >= 0 && a[j] > v){
				a[j+1] = a[j];
				j--;
				a[j+1] = v;
			}
			show(a);
		}
	}

	public static void show(int[] a){
		//????????¨
		StringBuffer br = new StringBuffer();
		for(int s:a)
			br.append(s+" ");
		br.deleteCharAt(br.lastIndexOf(" "));
		br.append("\n");
		System.out.print(br);
	}
} public class Main {
	public static void main(String[] args) throws Exception{
		BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
		/*??\???
		/??????????´???°?????\???????¬??????°????????\???
		*/
		int n = Integer.parseInt(sc.readLine());
		String[] st = sc.readLine().split(" ");
		int[] a = new int[st.length];
		for(int i = 0;i < st.length;i++){
			a[i] = Integer.parseInt(st[i]);
		}
		show(a);
		insertionSort(a,n);
	}

	/*insertionSort????????????
	/?¨??????????????????????
	/
	*/

	public static void insertionSort(int[] a,int n) {
		int v;
		int j;
		for(int i = 1;i < n;i++){
			v = a[i];
			j = i-1;
			while(j >= 0 && a[j] > v){
				a[j+1] = a[j];
				j--;
				a[j+1] = v;
			}
			show(a);
		}
	}

	public static void show(int[] a){
		//????????¨
		StringBuffer br = new StringBuffer();
		for(int s:a)
			br.append(s+" ");
		br.deleteCharAt(br.lastIndexOf(" "));
		br.append("\n");
		System.out.print(br);
	}
} Main
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.lang.StringBuffer;

/*Question
/?????\????????????Insertion Sort?????????????????????????????????????????????????????¨??????????????????????????¶??§???????????????????????¢?????´????????????????????§??????
/??????????????£????????????????????????????°????????????????????????´???????????????????????????????????????????????????????????????????????§?????§???????????????????????????????????????????????????????????\?????????????????¨????????£??????????????????????????????????????¨?????§????????????
/?????\?????????????¬???????????????¢?????´???????????????????????????
/1 insertionSort(A, N) // N??????????´??????????0-?????????????????????A
/2 for i ??? 1 ?????? N-1 ?????§
/3 v = A[i]
/4 j = i - 1
/5 while j >= 0 ?????? A[j] > v
/6 A[j+1] = A[j]
/7 j--
/8 A[j+1] = v
/N ??????????´????????????°??? A ????????????????????????????????\????????????????????°????????????????????????????????????
/????????????????????????????????¢?????´????????????????£????????????????????????¢?????´??????????????????????¢???????????????????????¨??????????????????§??????????????\?????´??????????????¨?????? i ??????????????????????????´????????????????????????????????????????????? 
*/

/*Input
/??\??????????????????????????°?????????????????¨?????´??° N ????????????????????????2 ????????????N ????????´??°????????????????????§????????????????????? 
*/

public class Main {
	public static void main(String[] args) throws Exception{
		BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
		/*??\???
		/??????????´???°?????\???????¬??????°????????\???
		*/
		int n = Integer.parseInt(sc.readLine());
		String[] st = sc.readLine().split(" ");
		int[] a = new int[st.length];
		for(int i = 0;i < st.length;i++){
			a[i] = Integer.parseInt(st[i]);
		}
		show(a);
		insertionSort(a,n);
	}

	/*insertionSort????????????
	/?¨??????????????????????
	/
	*/

	public static void insertionSort(int[] a,int n) {
		int v;
		int j;
		for(int i = 1;i < n;i++){
			v = a[i];
			j = i-1;
			while(j >= 0 && a[j] > v){
				a[j+1] = a[j];
				j--;
				a[j+1] = v;
			}
			show(a);
		}
	}

	public static void show(int[] a){
		//????????¨
		StringBuffer br = new StringBuffer();
		for(int s:a)
			br.append(s+" ");
		br.deleteCharAt(br.lastIndexOf(" "));
		br.append("\n");
		System.out.print(br);
	}
}