#include<stdio.h>
int a[1000][1000];
int q[10000];
bool f[1000];
int n,m;
void dfs(int x)
{
int i;
printf("%d ",x);
for(i=0;i<=n;i++)
if((a[x][i]==1)&&(!f[i]))
{
dfs(i);
}
}
int main()
{
int i,x,y;
scanf("%d%d",&n,&m);
for(i=0;i<m;i++)
{
scanf("%d%d",&x,&y);
a[x][y]=1;
}
dfs(1);
return 0;
}
int a[1000][1000];
int q[10000];
bool f[1000];
int n,m;
void dfs(int x)
{
int i;
printf("%d ",x);
for(i=0;i<=n;i++)
if((a[x][i]==1)&&(!f[i]))
{
dfs(i);
}
}
int main()
{
int i,x,y;
scanf("%d%d",&n,&m);
for(i=0;i<m;i++)
{
scanf("%d%d",&x,&y);
a[x][y]=1;
}
dfs(1);
return 0;
}