#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
vector<int> a[100010];
int vis[100010];
int n, m;
int bfs(int s){
queue<int> q;
int maxx = s;
q.push(s);
memset(vis,0,sizeof(vis));
vis[s] = 1;
while(q.size()){
int x = q.front();
q.pop();
for (int i = 0;i<a[x].size();i++){
if (vis[a[x][i]]) continue;
vis[a[x][i]] = 1;
q.push(a[x][i]);
maxx = max(maxx,a[x][i]);
if (maxx==n) return n;
}
}
return maxx;
}
int main(){
cin>>n>>m;
for (int i = 1;i<=m;i++){
int x, y;
cin>>x>>y;
a[x].push_back(y);
}
for (int i = 1;i<n;i++){
cout<<bfs(i)<<endl;
}
cout<<n;
return 0;
}