'use strict';

const main = input => {
  input = input.split('\n');
  const N = Number(input[0]);
  const A = input[1].split(' ').map(Number);
  // console.log(A.join(' '));
  insertionSort(A, N);
};

// const insertionSort = (A, N) => {
//   for (let i = 1; i < N; ++i) {
//     const tmp = A[i];
//     let j = i - 1;
//     while (j >= 0 && A[j] > tmp) {
//       // Replace orders
//       A[j + 1] = A[j];
//       A[j] = tmp;
//       --j;
//     }
//     console.log(A.join(' '));
//   }
//   return A;
// };

function insertionSort(A, N) {
  for (let i = 0; i < N; ++i) {
    const tmp = A[i];
    for (let j = 0; j < i; ++j) {
      if (A[j] > tmp) {
        A.splice(i, 1);
        A.splice(j, 0, tmp);
        break;
      }
    }
    console.log(A.join(' '));
  }
}

main(require('fs').readFileSync('/dev/stdin', 'utf8'));

