#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1e9 + 7;
const long long INF = 1LL << 32;
const double eps = 1e-13;
int d[100009];
vector<int> adj[100009];
int p[100009];
int main() {
  int n, m;
  scanf("%d%d", &n, &m);
  for (int i = 0; i < (m); ++i) {
    int a, b;
    scanf("%d%d", &a, &b);
    a--;
    b--;
    adj[b].push_back(a);
    d[a]++;
  }
  priority_queue<int> pq;
  for (int i = 0; i < (n); ++i) {
    if (d[i] == 0) pq.push(i);
  }
  int ct = n;
  while (((int)(pq).size())) {
    int x = pq.top();
    pq.pop();
    p[x] = ct--;
    for (int i : adj[x]) {
      d[i]--;
      if (d[i] == 0) pq.push(i);
    }
  }
  for (int i = 0; i < (n); ++i) printf("%d ", p[i]);
}
