#include<bits/stdc++.h>
using namespace std;
vector<int> g[100001];
int from[100001];
int cnt[100001];
int n,m;
int main(){
    cin>>n>>m;
    for(register int i=0;i<n-1+m;i++){
        int a,b;
        scanf("%d%d",&a,&b);
        cnt[b]++;
        g[a].push_back(b);
    }
    queue<int> q;
    for(int i=1;i<=n;i++)
        if(!cnt[i])
            q.push(i);
    while(!q.empty()){
        int now=q.front();
        q.pop();
        for(int i=0;i<g[now].size();i++){
            int to=g[now][i];
            cnt[to]--;
            if(!cnt[to]){
                q.push(to);
                from[to]=now;
            }
        }
    }
    for(register int i=1;i<=n;i++)
        cout<<from[i]<<endl;
    return 0;
}