# include<stdio.h>
# include<algorithm>
# include<string.h>
using namespace std;
# define maxn 600
int a[maxn][maxn];
int vis[maxn];
int n,m;
void toposort(){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(!vis[j]){
vis[j]--;
printf("%d",j);
if(i!=n){
printf(" ");
}
else{
printf("\n");
}
for(int k=1;k<=n;k++){
if(a[j][k]){
vis[k]--;
}
}
break;
}
}
}
}
int main(){
int x,y;
while(scanf("%d %d",&n,&m)!=EOF){
memset(vis,0,sizeof(vis));
memset(a,0,sizeof(a));
for(int i=1;i<=m;i++){
scanf("%d %d",&x,&y);
if(!a[x][y]){
a[x][y]=1;
vis[y]++;
}
}
toposort();
}
return 0;
}