E. TOF
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Сегодня Пари задала Арию интересную графовую задачу. Арий написал неоптимальное решение, потому что верит, что может протолкнуть неоптимальное решение в любой задаче. Но его решение не только не оптимальное, оно ещё и содержит ошибки, а поскольку Арий долго пытался его оптимизировать, то код стал совсем «грязным». Арий продолжал получать вердикт Time Limit Exceeded и совсем уже расстроился, когда ему в голову пришла прекрасная идея!

Вот так выглядит сейчас его код:


dfs(v)
{
set count[v] = count[v] + 1
if(count[v] < 1000)
{
foreach u in neighbors[v]
{
if(visited[u] is equal to false)
{
dfs(u)
}
break
}
}
set visited[v] = true
}

main()
{
input the digraph()
TOF()
foreach 1<=i<=n
{
set count[i] = 0 , visited[i] = false
}
foreach 1 <= v <= n
{
if(visited[v] is equal to false)
{
dfs(v)
}
}
... // And do something cool and magical but we can't tell you what!
}

Арий просит вас написать функцию TOF, которая будет уменьшать количество вызовов функции dfs. На вход подаётся ориентированный граф, и функция TOF должна переставить каким-то образом рёбра графа, то есть изменить порядок вершин в списке смежности neighbors каждой вершины. Количество вызовов функции dfs, разумеется, зависит от того, какой порядок для вершин в neighbors выбрать.

Входные данные

В первой строке входных данных записаны два целых числа n и m (1 ≤ n, m ≤ 5000) — количество вершин и количество ориентированных рёбер во входном графе.

В каждой из последующих m строк записана пара целых чисел ui и vi (1  ≤  ui,  vi  ≤  n), означающая, что во входном графе существует ориентированное ребро .

Гарантируется, что в графе нет петель и что каждая неупорядоченная пара вершин соединена не более чем одним ориентированным ребром.

Выходные данные

Выведите единственное целое число — минимальное возможно количество вызовов функции dfs, которого можно достигнуть, переставив правильно рёбра.

Примеры
Входные данные
3 3
1 2
2 3
3 1
Выходные данные
2998
Входные данные
6 7
1 2
2 3
3 1
3 4
4 5
5 6
6 4
Выходные данные
3001