#include<bits/stdc++.h>
using namespace std;
bool vis[1005];
int le,mo;
int a,b,c,d,e,f,g,ans[1005];
vector<pair<int,int>>v[1005][2];
void dfs(int x,int y,int z){
for(int i=0;i<v[x][y].size();i++){
if(v[x][y][i].second>z) return;
if(vis[v[x][y][i].first]==0){
if(y==0) mo++;
else le++;
vis[v[x][y][i].first]=1;
dfs(v[x][y][i].first,y,z);
}
}
}
int main(){
cin>>a>>b;
for(int i=0;i<b;i++){
cin>>c>>d;
v[c][0].push_back({d,i+1});
v[d][1].push_back({c,i+1});
}
for(int i=1;i<=a;i++){
int l=1,r=b+1;
ans[i]=-1;
while(l<r){
// cout<<i<<' '<<l<<' '<<r<<endl;
int m=(l+r)/2;
dfs(i,0,m);
dfs(i,1,m);
if(le+mo==a-1) ans[i]=m,r=m;
else l=m+1;
for(int i=1;i<=a;i++) vis[i]=0;
le=0;
mo=0;
}
}
for(int i=1;i<=a;i++) cout<<ans[i]<<' ';
}