#include <bits/stdc++.h>
using namespace std;
const int maxn = 30011;
int a[maxn], pos, vis[maxn];
vector<int> w[maxn];
void dfs(int u) {
  vis[u] = 1;
  for (int v : w[u]) {
    if (vis[v]) continue;
    dfs(v);
  }
  a[++pos] = u;
}
int main() {
  int n, m;
  scanf("%d%d", &n, &m);
  for (int i = 1; i <= m; ++i) {
    int u, v;
    scanf("%d%d", &u, &v);
    w[u].push_back(v);
  }
  for (int i = 1; i <= n; ++i) {
    if (!vis[i]) dfs(i);
  }
  for (int i = 1; i <= n; ++i) printf("%d%c", a[i], i == n ? '\n' : ' ');
  return 0;
}
