#include <iostream>
#include <queue>
#include <vector>
#include <algorithm>
using namespace std;

int main(){
	int child[20] = {};
	vector<int> G[20];
	vector<int> list;
	queue<int> que;
	int m,n;
	cin >> m >> n;
	for(int i = 0;i < n;i++){
		int x,y;
		cin >> x >> y;
		G[x - 1].push_back(y - 1);
		child[y - 1]++;
	}
	for(int i = 0;i < m;i++){
		if(!child[i]) que.push(i);
	}
	while(!que.empty()){
		int v = que.front();que.pop();
		list.push_back(v);
		for(int i = 0;i < G[v].size();i++){
			child[G[v][i]]--;
			if(!child[G[v][i]]) que.push(G[v][i]);
		}
	}
	for(int i = 0;i < list.size();i++) cout << list[i] + 1 << endl;
	return 0;
}