#include <bits/stdc++.h>
using namespace std;

using vi=vector<int>;
using vvi=vector<vi>;

void dfs(const vvi& g,int u,vi& vis,vi& order)
{
	if(vis[u]) return;
	vis[u]=1;
	for(int v:g[u]) if(!vis[v])
		dfs(g,v,vis,order);
	order.push_back(u);
}

int main()
{
	for(int n,m;cin>>n>>m && n|m;){
		vvi g(n);
		for(int i=0;i<m;i++){
			int u,v; cin>>u>>v; u--,v--;
			g[u].push_back(v);
		}
		vi vis(n),order;
		for(int i=0;i<n;i++) if(!vis[i])
			dfs(g,i,vis,order);
		
		for(int i=order.size();i--;)
			cout<<order[i]+1<<endl;
	}
}