# -*- coding:utf-8

def main():
	N = int(input())
	A = list(map(int, input().split()))
	insertionSort(A, N)
	print(' '.join(map(str, A)))

def insertionSort(A, N):
	for i in range(1, N):
		print(' '.join(map(str, A)))
		v = A[i]
		j = i-1
		while(j>=0 and A[j]>v):
			A[j+1] = A[j]
			j -= 1
		A[j+1] = v
			
if __name__ == '__main__':
	main() def main():
	N = int(input())
	A = list(map(int, input().split()))
	insertionSort(A, N)
	print(' '.join(map(str, A))) main N = int(input()) N int(input()) int input() input A = list(map(int, input().split())) A list(map(int, input().split())) list map(int, input().split()) map int input().split() ().split () input split insertionSort(A, N) insertionSort A N print(' '.join(map(str, A))) print ' '.join(map(str, A)) ' '.join ' ' join map(str, A) map str A def insertionSort(A, N):
	for i in range(1, N):
		print(' '.join(map(str, A)))
		v = A[i]
		j = i-1
		while(j>=0 and A[j]>v):
			A[j+1] = A[j]
			j -= 1
		A[j+1] = v
			 insertionSort for i in range(1, N):
		print(' '.join(map(str, A)))
		v = A[i]
		j = i-1
		while(j>=0 and A[j]>v):
			A[j+1] = A[j]
			j -= 1
		A[j+1] = v
			 i range(1, N) range 1 N print(' '.join(map(str, A))) print ' '.join(map(str, A)) ' '.join ' ' join map(str, A) map str A v = A[i] v A[i] A i j = i-1 j i-1 i 1 while(j>=0 and A[j]>v):
			A[j+1] = A[j]
			j -= 1
		 j>=0 and A[j]>v j>=0 j 0 A[j]>v A[j] A j v A[j+1] = A[j] A[j+1] A j+1 j 1 A[j] A j j -= 1 j 1 A[j+1] = v A[j+1] A j+1 j 1 v A A N N if __name__ == '__main__':
	main() __name__ == '__main__' __name__ '__main__' main() main def insertionSort(A, N):
	for i in range(1, N):
		print(' '.join(map(str, A)))
		v = A[i]
		j = i-1
		while(j>=0 and A[j]>v):
			A[j+1] = A[j]
			j -= 1
		A[j+1] = v
			 def insertionSort(A, N):
	for i in range(1, N):
		print(' '.join(map(str, A)))
		v = A[i]
		j = i-1
		while(j>=0 and A[j]>v):
			A[j+1] = A[j]
			j -= 1
		A[j+1] = v
			 insertionSort def main():
	N = int(input())
	A = list(map(int, input().split()))
	insertionSort(A, N)
	print(' '.join(map(str, A))) def main():
	N = int(input())
	A = list(map(int, input().split()))
	insertionSort(A, N)
	print(' '.join(map(str, A))) main
# -*- coding:utf-8

def main():
	N = int(input())
	A = list(map(int, input().split()))
	insertionSort(A, N)
	print(' '.join(map(str, A)))

def insertionSort(A, N):
	for i in range(1, N):
		print(' '.join(map(str, A)))
		v = A[i]
		j = i-1
		while(j>=0 and A[j]>v):
			A[j+1] = A[j]
			j -= 1
		A[j+1] = v
			
if __name__ == '__main__':
	main()