Задано орієнтовний ациклічний граф.
Потрібно визначити мінімальну кількість шляхів, які не перетинаються, що покривають усі вершини.
Перший рядок вхідного файлу містить n та m - кількість вершин та ребер графа відповідно (2 ≤ n ≤ 1000, 0 ≤ m ≤ 10^5). У наступних m рядках містяться по два числа: номери вершин u та v, які з'єднує ребро (u, v).
У першому рядку вихідного файлу виведіть натуральне число k - мінімальну кількість шляхів, необхідних, щоб покрити усі вершини.