#include<cstdio>
#include<vector>
#include<cstring>

using namespace std;

int m,n;
vector<int> g[21];
vector<int> rg[21];
bool used[21];
vector<int> vs;
int cmp[21];

void dfs(int v){
	used[v]=true;
	for(int i=0;i<g[v].size();i++){
		if(!used[g[v][i]])dfs(g[v][i]);
	}
	vs.push_back(v);
}

void scc(){
	memset(used,0,sizeof(used));
	vs.clear();
	for(int v=1;v<=m;v++){
		if(!used[v])dfs(v);
	}
}

int main(void){
	scanf("%d",&m);
	scanf("%d",&n);
	for(int i=0;i<n;i++){
		int a,b;
		scanf("%d%d",&a,&b);
		g[a].push_back(b);
	}
	scc();
	for(int i=vs.size()-1;i>=0;i--)printf("%d\n",vs[i]);
	return 0;
}