#include <iostream>
#include <vector>
#include <cstdlib>
#include <algorithm>
#include <time.h>
#include <cstdio>
#include <stack>
#include <queue>
using namespace std;


vector<int> g[100];
int in[100];
vector<int> res;
int done[100];
int dfs(int x){
	if( done[x]++ ) return 0;
	for(int i = 0 ; i < g[x].size() ; i++) dfs(g[x][i]);
	res.push_back(x);
}
int main(){
	int m,n;
	cin >> m >> n;
	
	for(int i = 0 ; i < n ; i++){
		int a,b;
		cin >> a >> b;
		a--,b--;
		g[a].push_back(b);
		in[b]++;
	}
	for(int i = 0 ; i < m ; i++){
		dfs(i);
	}
	reverse(res.begin(),res.end());
	for(int i = 0 ; i < m ; i++){
		cout << res[i]+1 << endl;	
	}
	
}