#include<bits/stdc++.h>
using namespace std;
const int SIZE=(1<<20);
int n,m,root,deg[SIZE];
vector<int> adj[SIZE];
void read()
{
	cin>>n>>m;
	for(int i=0;i<n-1+m;i++)
	{
		int u,v;
		cin>>u>>v;
		adj[u].push_back(v);
		deg[v]++;
	}
}
bool vis[SIZE];
int ans[SIZE];
void dfs(int u,int pr)
{
	vis[u]=1;
	ans[u]=pr;
	for(int v=0;v<adj[u].size();v++)
		deg[adj[u][v]]--;
	for(int v=0;v<adj[u].size();v++)
		if(!vis[adj[u][v]]&&deg[adj[u][v]]==0)
			dfs(adj[u][v],u);
}
int main()
{
	read();
	for(int i=1;i<=n;i++)
		if(!deg[i])
			root=i;
	dfs(root,0);
	for(int i=1;i<=n;i++)
		cout<<ans[i]<<endl;
	return 0;
}