#include <iostream>#include <algorithm>#include <vector>#include <queue>using namespace std;int main(){ int n, m; cin >> n >> m; vector<vector<int>> arr(n + 1); vector<int> en(n + 1, 0); for (int i = 1; i <= m; i++) { int s, e; cin >> s >> e; arr[s].push_back(e); en[e]++; } queue<int> q; for (int i = 1; i <= n; i++) { if (en[i] == 0) { q.push(i); cout << i << " "; } } while (!q.empty()) { auto cur = q.front(); q.pop(); for (auto nv : arr[cur]) { if (--en[nv] == 0) { q.push(nv); cout << nv << " "; } } } return 0;}