#include<bits/stdc++.h>
using namespace std;
#define int long long
#define fall(i,a,b) for(int i=a;i<=b;i++)
#define rfall(i,a,b) for(int i=a;i>=b;i--)
#define pb push_back
#define F first
#define S second
const int MAXN=3e5+10;
typedef pair<int,int> pii;
map<int,map<int,int>> mat;
int n,m,nlos[MAXN],qq[MAXN],ans[MAXN];
vector<pii> v;
pii best[MAXN];
int32_t main(){
std::ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin>>n>>m; v.resize(m);
for(auto &[u,j]:v) cin>>u>>j;
rfall(i,m-1,0){
auto [u,j]=v[i];
if(nlos[u]==0){
qq[i]=m-i;
best[i]={m-i,u};
ans[u]++;
mat[u][j]=i;
nlos[j]=i;
continue;
}
int dif=nlos[u]-i; qq[i]=dif;
auto k=v[nlos[u]].F;
if(mat[u][k]!=0){
auto x=mat[u][k];
qq[i]+=qq[x];
}
best[i]=best[nlos[u]];
if(best[i].F<qq[i] || (best[i].F==qq[i] && u<best[i].S)){
best[i]={qq[i],u};
}
ans[best[i].S]++;
mat[u][j]=i;
nlos[j]=i;
}
fall(i,0,n-1) cout<<ans[i]<<" \n"[i==n-1];
}