#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;
}