#include <bits/stdc++.h>
using namespace std;
const int maxn = 200009;
const int MOD = 1e9 + 7;
int main() {
  ios_base::sync_with_stdio(false), cout.tie(0), cin.tie(0);
  int n, k, tot;
  cin >> n >> k;
  tot = n;
  vector<int> sta, vis(n + 2);
  vis[n + 1] = 1;
  int cur = 1;
  vector<int> ans;
  for (int i = 0; i < k; ++i) {
    int t;
    cin >> t;
    ans.push_back(t);
    sta.push_back(t);
    vis[t] = 1;
    tot--;
    while (((int)(sta).size()) && sta.back() == cur) {
      cur++;
      sta.pop_back();
    }
  }
  for (int i = 1; i < ((int)(sta).size()); ++i) {
    if (sta[i] > sta[i - 1]) {
      cout << "-1\n";
      return 0;
    }
  }
  while (tot) {
    while (((int)(sta).size()) && sta.back() == cur) {
      cur++;
      sta.pop_back();
    }
    int top;
    if (((int)(sta).size()) == 0)
      top = n + 1;
    else
      top = sta.back();
    for (int i = top; i >= cur; --i) {
      if (!vis[i]) sta.push_back(i), tot--, ans.push_back(i);
      vis[i] = 1;
    }
  }
  for (int i : ans) cout << i << " ";
  cout << '\n';
  return 0;
}
