#include <iostream>
#include <queue>
#include <vector>
#include <set>
using namespace std;

int main(){
  int n, m;
  cin >> n >> m;
  vector<set<int>>in(n+1), out(n+1);
  for(int i=0; i<n+m-1; i++){
    int a, b;
    cin >> a >> b;
    in[b].insert(a);
    out[a].insert(b);
  }
  vector<int>ret(n+1, 0);
  for(int i=1; i<=n; i++){
    if(in[i].size()==0){
      out[0].insert(i);
      in[i].insert(0);
      ret[i]=0;
      break;
    }
  }
  queue<int>Q;
  Q.push(0);
  while(!Q.empty()){
    int p=Q.front();
    Q.pop();
    for(int i: out[p]){
      in[i].erase(p);
      if(in[i].size()==0){
        ret[i]=p;
        Q.push(i);
      }
    }
  }
  for(int i=1; i<=n; i++)cout << ret[i] << endl;
  return 0;
}