#include <bits/stdc++.h>
using namespace std;
int main() {
  cin.tie(0);
  cin.sync_with_stdio(0);
  cout.tie(0);
  int a[101], b[101], n, m, i, j;
  bool p[101];
  cin >> n >> m;
  for (int i = 0; i <= n; i++) {
    p[i] = false;
    b[i] = 0;
  }
  for (int i = 0; i < m; i++) cin >> a[i];
  i = 0;
  while (i < m - 2) {
    if ((a[i] == a[i + 1]) && (a[i + 1] != a[i + 2])) {
      cout << -1;
      return 0;
    }
    i++;
  }
  for (int i = 0; i < m - 1; i++) {
    if (a[i + 1] > a[i]) {
      if ((b[a[i]] == 0) && (p[a[i + 1] - a[i]] == false)) {
        p[a[i + 1] - a[i]] = true;
        b[a[i]] = a[i + 1] - a[i];
      } else if (a[i + 1] - a[i] != b[a[i]]) {
        cout << -1;
        return 0;
      }
    } else if (a[i + 1] < a[i]) {
      if ((b[a[i]] == 0) && (p[n - a[i] + a[i + 1]] == false)) {
        p[n - a[i] + a[i + 1]] = true;
        b[a[i]] = n - a[i] + a[i + 1];
      } else if (n - a[i] + a[i + 1] != b[a[i]]) {
        cout << -1;
        return 0;
      }
    } else {
      if ((b[a[i]] == 0) && (p[n] == false)) {
        p[n] = true;
        b[a[i]] = n;
      } else if (n != b[a[i]]) {
        cout << -1;
        return 0;
      }
    }
  }
  i = 1;
  j = 1;
  while (i <= n) {
    if (b[i] == 0) {
      while ((j <= n) && (p[j] == true)) j++;
      if (j <= n) {
        b[i] = j;
        p[j] = true;
        j++;
      }
    }
    i++;
  }
  for (int i = 1; i <= n; i++) cout << b[i] << " ";
  return 0;
}
