#P005927. 美食之旅

美食之旅

题目描述

nn 座城市,编号为 11nn,城市之间有 mm 条单向航线。

小 A 从城市 11 出发,沿着航线旅行,最后必须回到城市 11。旅行过程中可以重复经过同一座城市。

此外,他最多可以选择一条单向航线,将这条航线反向使用一次。也就是说,如果存在一条从城市 uu 到城市 vv 的航线,他可以有一次机会从城市 vv 前往城市 uu

请计算小 A 在满足上述条件的旅行中,最多能经过多少座不同的城市。

输入格式

第一行包含两个整数 n,mn,m,分别表示城市数量和单向航线数量。

接下来 mm 行,每行包含两个整数 u,vu,v,表示存在一条从城市 uu 到城市 vv 的单向航线。保证输入中没有重复的航线。

输出格式

输出一个整数,表示最多能经过的不同城市数量。

样例

7 10
1 2
3 1
2 5
2 4
3 7
3 5
3 6
6 5
7 2
4 7
6

样例解释

一种可行的路线为 124725311\to2\to4\to7\to2\to5\to3\to1,其中从城市 55 到城市 33 反向使用了航线 353\to5。这条路线经过了城市 1,2,3,4,5,71,2,3,4,5,7,共 66 座不同的城市。

数据范围与提示

  • 对于 10%10\% 的数据,1n1001 \le n \le 1001m3001 \le m \le 300
  • 对于 100%100\% 的数据,1n,m1051 \le n,m \le 10^5
  • 1u,vn1 \le u,v \le nuvu \ne v