from collections import deque
n, m = map(int, input().split())
line = [[] for _ in range(n+1)]
g = [0] * (n+1)
ans = []
q = deque()
for i in range(m):
a, b = map(int, input().split())
line[a].append(b)
g[b] += 1
# 작은 것들(0값을 가진 인덱스) 큐에 넣음 -> 작은 것부터 ans에 넣음
for i in range(1, n+1):
if g[i] == 0:
q.append(i)
while q:
# 연결그래프의 간선이 0인 것들
x = q.popleft()
ans.append(x)
# x를 pop 해줬기 때문에 연결된 것들 수 바꿔줌. q 업데이트
for j in line[x]:
g[j] -= 1
if g[j] == 0:
q.append(j)
for i in ans:
print(i, end=' ')
여러가지 그래프를 씀
line : 대소관계를 따져서 넣음
g : index보다 작은 것의 갯수 넣음
q : 작은 것부터 따질 때 쓰려고 큐