#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5 + 10;
const long long MOD = 1e9 + 3;
inline long long gcd(long long a, long long b) { return b ? gcd(b, a % b) : a; }
inline int lb(int x) { return x & -x; }
long long qpow(long long base, int n) {
  if (base == 0) return 0;
  long long ans = 1;
  while (n) {
    if (n & 1) ans *= base;
    n >>= 1;
    base *= base;
  }
  return ans;
}
int n, m;
long long v[maxn];
long long tr[maxn * 4], tag[maxn * 4];
inline void push_up(int p) { tr[p] = tr[p * 2] + tr[p * 2 + 1]; }
inline void push_down(int l, int r, int p) {
  tag[p * 2] += tag[p];
  tag[p * 2 + 1] += tag[p];
  tr[p] += (r - l + 1) * tag[p];
  tag[p] = 0;
}
void update(int s, int t, int l, int r, long long u, int p) {
  if (s <= l && r <= t) {
    tag[p] += u;
    return;
  }
  int mi = (l + r) >> 1;
  if (t <= mi)
    update(s, t, l, mi, u, p * 2);
  else if (s > mi)
    update(s, t, mi + 1, r, u, p * 2 + 1);
  else {
    update(s, mi, l, mi, u, p * 2);
    update(mi + 1, t, mi + 1, r, u, p * 2 + 1);
  }
}
long long query(int s, int t, int l, int r, int p) {
  if (tag[p]) {
    push_down(l, r, p);
  }
  if (s <= l && r <= t) {
    return tr[p];
  }
  int mi = (l + r) >> 1;
  long long res = 0;
  if (t <= mi)
    res += query(s, t, l, mi, p * 2);
  else if (s > mi)
    res += query(s, t, mi + 1, r, p * 2 + 1);
  else {
    res += query(s, mi, l, mi, p * 2);
    res += query(mi + 1, t, mi + 1, r, p * 2 + 1);
  }
  return res;
}
int main() {
  cin >> n >> m;
  for (int i = (1); i <= (m); ++i) cin >> v[i];
  long long x, y;
  for (int i = (2); i <= (m); ++i) {
    x = v[i - 1];
    y = v[i];
    if (x == y) continue;
    if (x > y) swap(x, y);
    if (x > 1) update(1, x - 1, 1, n, y - x, 1);
    if (y < n) update(y + 1, n, 1, n, y - x, 1);
    update(x, x, 1, n, y - 1, 1);
    update(y, y, 1, n, x, 1);
    if (x + 1 != y) update(x + 1, y - 1, 1, n, y - x - 1, 1);
  }
  long long ans = 0;
  for (int i = (1); i <= (n); ++i) {
    ans = query(i, i, 1, n, 1);
    cout << ans << (i == n ? '\n' : ' ');
  }
}
