#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m;
  cin >> n >> m;
  vector<int> d(n + 1, 0);
  vector<vector<int> > pa(n + 1);
  for (int i = 0; i < m; i++) {
    int u, v;
    scanf("%d%d", &u, &v);
    pa[v].push_back(u);
    d[u]++;
  }
  auto cmp = [&](const pair<int, int> &a, const pair<int, int> &b) {
    if (a.second != b.second) return a.second < b.second;
    return a.first > b.first;
  };
  set<pair<int, int>, decltype(cmp)> st(cmp);
  vector<int> ans(n + 1);
  for (int i = 1; i <= n; i++) st.insert({i, d[i]});
  int val = n;
  while (!st.empty()) {
    pair<int, int> u = *st.begin();
    ans[u.first] = val--;
    st.erase(u);
    for (int v : pa[u.first]) {
      st.erase({v, d[v]});
      st.insert({v, --d[v]});
    }
  }
  for (int i = 1; i <= n; i++) printf("%d ", ans[i]);
  puts("");
  return 0;
}
