#include <bits/stdc++.h>
using namespace std;
vector<int> e[1000010 + 7], v;
int view[1000010 + 7];
int f, fl;
void dfs(int u) {
  int i, k, l;
  view[u] = 0;
  for (i = 0; i < e[u].size(); i++) {
    if (view[e[u][i]] == -1) dfs(e[u][i]);
  }
  view[u] = 1;
  v.push_back(u);
}
int main() {
  ios_base::sync_with_stdio(false);
  int i, j, k, l;
  int tc, t;
  int n, m;
  while (cin >> n >> m) {
    memset(view, -1, sizeof(view));
    for (i = 0; i < m; i++) {
      cin >> k >> l;
      e[l].push_back(k);
    }
    fl = 0;
    for (i = 1; i <= n; i++) {
      f = i;
      if (view[i] == -1) dfs(i);
    }
    reverse(v.begin(), v.end());
    for (i = 0; i < v.size(); i++) {
      if (i) printf(" ");
      printf("%d", v[i]);
    }
    puts("");
    v.clear();
    for (i = 0; i <= n; i++) e[i].clear();
  }
  return 0;
}
