"use strict";
function I(s,f){this._s=s.split("\n");this._c=0;this._l=0;this._f=f||Number}I.prototype.a=function(){var l=this._s[this._l];if(!l)return;var t=l.trim().split(" ");var a=t[this._c];this._c++;if(t.length===this._c){this._c=0;this._l++}return this._f(a)};I.prototype.l=function(){var l=this._s[this._l];if(!l)return;this._c=0;this._l++;return l.split(" ").map(this._f)};module.exports=I;

function main(input) {
  const o = new I(input);

  const N = o.a();
  let b = [];
  for (let i = 0; i < N; i++) {
    b.push(o.a());
  }

  let result = [];
  while (b.length > 0) {
    let flag = true;
    for (let i = b.length - 1; i>=0;i--) {
      if (b[i] === i + 1) {
        let removed = b.splice(i, 1);
        result.push(removed[0]);
        flag = false;
        break;
      }
    }

    if (flag) {
      break;
    }
  }

  if (b.length === 0) {
    result.reverse().forEach(r => console.log(r));
  } else {
    console.log("-1");
  }


}


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