#include <bits/stdc++.h>
using namespace std;
//#define int long long
#define rep(i,a,b) for (int i = a; i <= b; i++)
#define per(i,a,b) for (int i = a; i >= b; i--)
#define pii pair<int,int>
#define all(v) (v).begin(), (v).end()
#define pb push_back
#define fi first
#define se second
const int MAXN = 3e5+10;
vector<int> g[MAXN];
int lst[MAXN], dp[MAXN], ans[MAXN], wnr[MAXN], par[MAXN], cnt[MAXN];
void dfs(int u) {
auto add = [&](int x, int medal) {
dp[medal] = x;
ans[x]++;
};
for(int &v : g[u]) {
int x = wnr[v], y = dp[u];
cnt[x] += u-v;
if(cnt[x]>cnt[y]) add(x,v);
if(cnt[x]<cnt[y]) add(y,v);
if(cnt[x]==cnt[y]) add(min(y,x),v);
dfs(v);
cnt[x] -= u-v;
}
}
void clear(int u) {
cnt[wnr[u]] = 0;
for(int &v : g[u]) clear(v);
}
int32_t main() {
ios_base::sync_with_stdio(0);cin.tie(nullptr);
int n,m; cin >> n >> m;
vector<pii> a(m);
rep(i,1,m) cin >> a[i-1].fi >> a[i-1].se;
rep(i,0,m-1) lst[i] = -1, par[i] = i;
per(i,m-1,0) {
auto [x,y] = a[i];
wnr[i] = x;
if(lst[x] != -1) {
g[lst[x]].pb(i);
par[i] = lst[x];
}
lst[y] = i;
}
per(i,m-1,0) {
if(par[i]!=i) continue;
ans[wnr[i]]++;
cnt[wnr[i]] = m-i;
dp[i] = wnr[i];
dfs(i);
clear(i);
}
rep(i,0,n-1) cout << ans[i] << ' ';
cout << '\n';
}