#include <cstdio>
#include <vector>

using namespace std;

int m, n;
bool in[20], vis[20];
vector<int> G[20], ord;

void dfs(int v)
{
	vis[v] = true;
	for (int i = 0; i < G[v].size(); i++)
		if (!vis[G[v][i]]) dfs(G[v][i]);
	ord.push_back(v);
}

int main()
{
	int m, n;
	
	scanf("%d %d", &m, &n);
	
	for (int i = 0; i < n; i++){
		int x, y;
		scanf("%d %d", &x, &y);
		G[--x].push_back(--y);
		in[y] = true;
	}
	
	for (int i = 0; i < m; i++)
		if (!in[i]) dfs(i);
		
	for (int i = m - 1; ~i; i--)
		printf("%d\n", ord[i] + 1);
		
	return (0);
}