import java. util. Scanner ;
import java. util . * ;
public class Main {
public static void main ( String[ ] args) {
Scanner in = new Scanner ( System. in) ;
int point = in. nextInt ( ) ;
int side = in. nextInt ( ) ;
int [ ] [ ] arr = new int [ side] [ 2 ] ;
for ( int i = 0 ; i< side; i++ ) {
arr[ i] [ 0 ] = in. nextInt ( ) ;
arr[ i] [ 1 ] = in. nextInt ( ) ;
}
List< List< Integer>> edegs = new ArrayList < > ( ) ;
List< Integer> res = new ArrayList < > ( ) ;
Queue< Integer> queue = new LinkedList < > ( ) ;
int [ ] indeg = new int [ point+ 1 ] ;
for ( int i = 0 ; i<= point; i++ ) {
edegs. add ( new ArrayList ( ) ) ;
}
for ( int [ ] info : arr) {
edegs. get ( info[ 0 ] ) . add ( info[ 1 ] ) ;
indeg[ info[ 1 ] ] ++ ;
}
for ( int i = 1 ; i< indeg. length; i++ ) {
if ( indeg[ i] == 0 ) {
queue. offer ( i) ;
}
}
int visited = 0 ;
while ( ! queue. isEmpty ( ) ) {
visited++ ;
int u = queue. poll ( ) ;
res. add ( u) ;
for ( int v : edegs. get ( u) ) {
indeg[ v] -- ;
if ( indeg[ v] == 0 ) {
queue. offer ( v) ;
}
}
}
if ( visited == point) {
for ( int i = 0 ; i< res. size ( ) ; i++ ) {
if ( i != res. size ( ) - 1 ) {
System. out. print ( res. get ( i) + " " ) ;
} else {
System. out. print ( res. get ( i) ) ;
}
}
} else {
System. out. print ( - 1 ) ;
}
}
}