#include <bits/stdc++.h>
using namespace std;
struct lol {
  long long int a, idx, minus = 0, ans;
};
bool cmp(lol a, lol b) { return a.a > b.a; }
bool cmmp(lol a, lol b) { return a.idx < b.idx; }
int main() {
  long long int n, r, i, j, k, a, b, c, q, p;
  cin >> n >> r;
  lol x[n];
  long long int res[n];
  for (i = 0; i < n; i++) {
    cin >> x[i].a;
    x[i].idx = i;
    res[i] = x[i].a;
  }
  for (i = 0; i < r; i++) {
    cin >> p >> q;
    if (x[p - 1].a > x[q - 1].a) {
      x[p - 1].minus++;
    }
    if (x[p - 1].a < x[q - 1].a) {
      x[q - 1].minus++;
    }
  }
  sort(x, x + n, cmp);
  sort(res, res + n);
  for (i = 0; i < n; i++) {
    x[i].ans = upper_bound(res, res + n, x[i].a - 1) - res;
  }
  sort(x, x + n, cmmp);
  for (i = 0; i < n; i++) {
    cout << x[i].ans - x[i].minus << ' ';
  }
}
