#include <bits/stdc++.h>
const long long int M = 1e9 + 7;
using namespace std;
bool visit[100000];
vector<int> G[100000];
void dfs1(int v, stack<int> &s) {
  visit[v] = true;
  for (int i = 0; i < G[v].size(); i++) {
    int c = G[v][i];
    if (!visit[c]) dfs1(c, s);
  }
  s.push(v);
}
void dfs(int n) {
  stack<int> s;
  for (int i = 1; i <= n; i++)
    if (!visit[i]) dfs1(i, s);
  while (!s.empty()) {
    cout << s.top() << " ";
    s.pop();
  }
}
int main() {
  ios::sync_with_stdio(false);
  int n, m, i, a, b;
  cin >> n >> m;
  for (i = 0; i < m; i++) {
    cin >> a >> b;
    G[b].push_back(a);
  }
  dfs(n);
  return 0;
}
