#include <bits/stdc++.h>
using namespace std;
int di[] = {0, 0, 1, -1, 1, 1, -1, -1};
int dj[] = {1, -1, 0, 0, 1, -1, 1, -1};
int n;
bool vis[30000];
vector<vector<int> > adj;
void dfs(int st) {
  if (vis[st]) return;
  vis[st] = 1;
  for (int i = 0; i < ((int)adj[st].size()); i++) dfs(adj[st][i]);
  cout << st + 1 << " ";
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int n, m;
  cin >> n >> m;
  adj.resize(n);
  while (m--) {
    int a, b;
    cin >> a >> b;
    a--, b--;
    adj[a].push_back(b);
  }
  for (int i = 0; i < n; i++) dfs(i);
  return 0;
}
