#include<iostream>
#include<cstdio>
#include<vector>
using namespace std;
const int N = 1e5+5;
vector<int> v[N];
int dp[N];
int vis[N];
int main(){
int n,m,x,y;
scanf("%d%d",&n,&m);
for(int i=1;i<=m;i++){
scanf("%d%d",&x,&y);
v[y].push_back(x);
vis[y] = true;
}
for(int i=1;i<=n;i++){
if(vis[i] == false){
dp[i] = 1;
}
}
for(int i=1;i<=n;i++){
for(int j=0;j<v[i].size();j++){
dp[i] = max(dp[i],dp[v[i][j]]+1);
}
printf("%d\n",dp[i]);
}
}```