E. Minimal Labelstime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given a directed acyclic graph with n vertices and m edges. There are no self-loops or multiple edges between any pair of vertices. Graph can be disconnected.You should assign labels to all vertices in such a way that:  Labels form a valid permutation of length n — an integer sequence such that each integer from 1 to n appears exactly once in it.  If there exists an edge from vertex v to vertex u then labelv should be smaller than labelu.  Permutation should be lexicographically smallest among all suitable. Find such sequence of labels to satisfy all the conditions.InputThe first line contains two integer numbers n, m (2 ≤ n ≤ 105, 1 ≤ m ≤ 105).Next m lines contain two integer numbers v and u (1 ≤ v, u ≤ n, v ≠ u) — edges of the graph. Edges are directed, graph doesn't contain loops or multiple edges.OutputPrint n numbers — lexicographically smallest correct permutation of labels of vertices.ExamplesInput3 31 21 33 2Output1 3 2 Input4 53 14 12 33 42 4Output4 1 2 3 Input5 43 12 12 34 5Output3 1 2 4 5 
Input3 31 21 33 2
Output1 3 2 
['data structures', 'dfs and similar', 'graphs', 'greedy', '*2300']