#include <bits/stdc++.h>
using namespace std;
int main() {
  long long n, m, ar1[1005] = {0}, ar2[1005] = {0}, a1, a2, ch[1005] = {0},
                  f = 1;
  cin >> n >> m;
  for (a1 = 1; a1 <= m; ++a1) {
    cin >> ar1[a1];
    if (ar1[a1] > n) {
      cout << -1;
      exit(0);
    }
  }
  for (a1 = 1; a1 <= m - 1; ++a1) {
    long long r1 = ar1[a1 + 1] - ar1[a1];
    if (r1 == 0) {
      if (ch[n] != 0 && ar2[ar1[a1]] != n) {
        f = 0;
        break;
      }
      ch[n] = 1;
      ar2[ar1[a1]] = n;
    } else if (r1 > 0) {
      if (ch[r1] != 0 && ar2[ar1[a1]] != r1) {
        f = 0;
        break;
      }
      ch[r1] = 1;
      ar2[ar1[a1]] = r1;
    } else {
      r1 = r1 + n;
      if (ch[r1] != 0 && ar2[ar1[a1]] != r1) {
        f = 0;
        break;
      }
      ch[r1] = 1;
      ar2[ar1[a1]] = r1;
    }
  }
  if (f == 0) {
    cout << -1;
  } else {
    for (a1 = 1; a1 <= n; ++a1) {
      if (ch[a1] == 0) {
        for (a2 = 1; a2 <= n; ++a2) {
          if (ar2[a2] == 0) {
            ar2[a2] = a1;
            ch[a1] = 1;
            break;
          }
        }
      }
    }
    for (a1 = 1; a1 <= n; ++a1) {
      if (ar2[a1] == 0) {
        cout << -1;
        exit(0);
      }
    }
    for (a1 = 1; a1 <= n; ++a1) {
      cout << ar2[a1] << " ";
    }
  }
  return 0;
}
