#include <bits/stdc++.h>
using namespace std;
string vow = "aeiou";
int month[] = {-1, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
const int dxhorse[] = {-2, -2, -1, -1, 1, 1, 2, 2};
const int dyhorse[] = {1, -1, 2, -2, 2, -2, 1, -1};
const int dx[] = {-1, 0, 1, 0, -1, -1, 1, 1};
const int dy[] = {0, 1, 0, -1, -1, 1, -1, 1};
const long double pie = 3.1415926535897932384626;
const long long mod = 1e9 + 7;
void bad() {
  cout << -1;
  cout << "\n";
  ;
  exit(0);
}
void solve(int test_case) {
  int n, q;
  cin >> n >> q;
  int prev;
  cin >> prev;
  const int N = 200;
  bool vis[N] = {};
  int ans[N] = {};
  for (int i = 1; i < q; i++) {
    int cur;
    cin >> cur;
    int dis = cur - prev;
    if (dis <= 0) dis += n;
    if (ans[prev]) {
      if (ans[prev] != dis) {
        bad();
      }
    } else if (vis[dis] && cur != prev) {
      bad();
    }
    vis[dis] = 1;
    ans[prev] = dis;
    prev = cur;
  }
  int p = 1;
  for (int i = 1; i <= n; i++) {
    if (ans[i]) continue;
    ;
    while (p <= n && vis[p] == true) p++;
    if (p > n) bad();
    vis[p] = 1;
    ans[i] = p;
  }
  for (int i = 1; i <= n; i++) cout << ans[i] << " ";
  cout << "\n";
  ;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int t = 1;
  for (int i = 1; i <= t; i++) {
    solve(i);
  }
  return 0;
}
