#include <bits/stdc++.h>
using namespace std;
const char lend = '\n';
const int N = 100000;
int vis[N], n, m, res[N], r;
vector<int> adj[N];
void dfs(int p) {
  vis[p] = 1;
  for (int q : adj[p]) {
    if (vis[q]) continue;
    dfs(q);
  }
  res[r++] = p;
}
int main() {
  ios::sync_with_stdio(0);
  cin >> n >> m;
  while (m--) {
    int a, b;
    cin >> a >> b;
    adj[a].push_back(b);
  }
  for (int i = 1; i <= n; ++i)
    if (!vis[i]) dfs(i);
  for (int i = 0; i < r; ++i) cout << res[i] << ' ';
  cout << lend;
}
