Как решать это:
В связи с напряженной эпидемиологической обстановкой было решено пристраивать к уже существующим домам станции скорой помощи. Город задан в виде графа, в котором ребра — это односторонние дороги, а вершины — дома. Разумеется, во время вызова скорая может игнорировать ПДД (и даже направление движения), но вот возвращаться обратно по встречке уже не получится: больной уже под контролем врачей, да и рискованно это слишком.
Экономическая обстановка тоже не самая спокойная, поэтому требуется определить минимальное количество станций, которое нужно построить, чтобы скорая могла доехать обратно до станции от любого дома города.
Формат входных данных
В первой строке входного файла задано число n(1≤n≤3000) — количество домов. Во второй строке записано количество дорог m(1≤m≤1e5). Далее следует описание дорог в формате aibi, означающее, что по i-й дороге разрешается движение от дома ai к дому bi (1≤ai,bi≤n)(1≤ai,bi≤n).
Формат результата
Выведите одно число — минимальное количество станций, которое нужно построить, чтобы скорая могла доехать от любого дома до станции, соблюдая ПДД. Если к дому пристроена станция, то от этого дома до станции, очевидно, можно доехать.
Примеры
Входные данные
3 3
1 2
2 3
1 3
Результат работы
1