#include <cstdio>
#include <vector>
#include <queue>
using namespace std;

int main(){
	int m, n, x, y;
	scanf("%d%d", &m, &n);
	vector<vector<int> > G(m + 1);
	vector<int> c(m + 1);
	for(int i = 0; i < n; ++i){
		scanf("%d%d", &x, &y);
		G[x].push_back(y);
		++c[y];
	}
	
	queue<int> q;
	for(int i = 1; i <= m; ++i){
		if(c[i] == 0){ q.push(i); }
	}

	while(!q.empty()){
		printf("%d\n", q.front());
		for(int i = 0; i < G[q.front()].size(); ++i){
			int t = G[q.front()][i];
			if(--c[t] == 0){ q.push(t); }
		}
		q.pop();
	}
}