#AT0184. 通路计数

通路计数

题目描述

给出一张有 nn 个点 mm 条边的有向图,顶点编号为 1,2,,n1,2,\cdots,n

给定两个顶点 s,ts,t,如果可以从 ss 到达 tt 我们成为有一条 (s,t)(s,t) 的通路,问这个图中共有多少条通路。

「注意」

  • 同一对 (s,t)(s,t) 只计算一次,允许存在环形通路,即允许 s=ts=t,并且由于是有向边,那么显然 (s,t)(s,t)(t,s)(t,s) 视为不同的通路。
  • 因为 s=ts=t 允许存在,所以对于任意的点 ii,一定有 (i,i)(i,i) 的通路,即一个点本身一定是可以到达自己的

输入格式

第一行输入两个整数 n,mn,m 分别表示图中点的数量和边的数量。

接下来有 mm 行,每行两个整数 ui,viu_i,v_i 表示一条从 uiu_iviv_i 的有向边,保证不存在自环。

输出格式

输出一行一个整数表示图中的通路数量。

样例

3 3
1 2
2 3
3 2
7

提示

对于 100%100\% 的数据,$2 \le n \le 2000, 0 \le m \le \min(2000,n(n-1)), 1 \le u_i,v_i \le n, u_i \ne v_i$。