Дано орієнтований ациклічний граф. Потрібно розбити граф на мінімальну кількість шляхів, які не перетинаються за вершинами. Це означає, що кожна вершина має належати рівно одному шляху.
Перший рядок містить два числа: кількість вершин і кількість ребер (1 \le n \le 500, 0 \le k \le n \cdot (n - 1) / 2). Наступні рядків містять по два числа і (1 \le a, b \le n), що вказують на наявність ребра з вершини до вершини . Кожна пара зустрічається не більше одного разу.
Виведіть мінімальну кількість шляхів.
Приклад 1