#include<stdio.h>
#include<algorithm>
#include<vector>
using namespace std;
vector<vector<int> >li;
vector<int>mx;
void dfs(int x) {
if(mx[x])return;
mx[x]=x;
for(int i=0; i<li[x].size(); i++) {
dfs(li[x][i]);
if(mx[li[x][i]]>mx[x])
mx[x]=mx[li[x][i]];
}
}
int main() {
int n,m,u,v;
scanf("%d%d",&n,&m);
li.resize(n+1);
mx.resize(n+1);
for(int i=0; i<m; i++) {
scanf("%d%d",&u,&v);
li[u].push_back(v);
}
for(int i=1; i<=n; i++) {
dfs(i);
printf("%d ",mx[i]);
}
return 0;
}