from collections import defaultdict
class Graph:
    def __init__(self) -> None:
        self.gragh = defaultdict(list)
    
    def add_egde(self, start, end):
        self.gragh[start].append(end)
        self.gragh[end] = self.gragh[end]

    def topo_sort(self) -> list:
        in_degree = {node:0 for node in self.gragh}
        for node in self.gragh:
            for adj in self.gragh[node]:
                in_degree[adj] += 1

        q = []
        for node, v in in_degree.items():
            if v == 0:
                q.append(node)
        for u in q:
            for v in self.gragh[u]:
                in_degree[v] -= 1
                if in_degree[v] == 0:
                    q.append(v)
        
        if len(q) < len(self.gragh):
            return []
        return q

n, m = map(int, input().split())
topo_gragh = Graph()
for _ in range(m):
    u, v = map(int, input().split())
    topo_gragh.add_egde(u, v)

res = topo_gragh.topo_sort()
if res:
    print(' '.join(map(str, res)))
else:
    print(-1)