#include <bits/stdc++.h>
using namespace std;
const int INF = 2147483647;
bool cmp(pair<int, int> a, pair<int, int> b) { return a.first > b.first; }
bool vis[30010];
vector<vector<int> > graph(30010);
vector<int> out;
void dfs(int v) {
  vis[v] = 1;
  for (int i = 0; i < (int)graph[v].size(); i++) {
    int u = graph[v][i];
    if (!vis[u]) dfs(u);
  }
  out.push_back(v + 1);
}
int main() {
  int n, m, a, b;
  scanf("%d %d", &n, &m);
  for (int i = 0; i < m; i++) {
    scanf("%d %d", &a, &b);
    a--;
    b--;
    graph[b].push_back(a);
  }
  for (int i = 0; i < n; i++) {
    if (!vis[i]) dfs(i);
  }
  reverse((out).begin(), (out).end());
  for (int i = 0; i < n; i++)
    if (i)
      cout << " " << out[i];
    else
      cout << out[i];
  cout << endl;
  return 0;
}
