#P2000. 可达对

可达对

题目描述

给你一个包含 nn 个顶点 mm 条有向边的有向图。

顶点编号从 11nn

ii 条有向边从顶点 uiu_i 指向顶点 viv_i

我们称一对顶点对 (x,y)(x, y) 是一对 可达对,当且仅当从顶点 xx 出发沿着若干条(可以是 00 条)有向边移动能够到达顶点 yy

求:图中存在多少对 可达对?

输入格式

第一行,两个整数 nnmm,以空格分隔($2 \le n \le 2000, 0 \le m \le \min(2000, n \times (n-1))$)。

接下来 mm 行,每行包含两个整数 uiu_iviv_i,表示一条有向边(1ui,vin1 \le u_i, v_i \le nuiviu_i \neq v_i)。

数据保证图中不存在重边。

输出格式

输出一个整数,表示图中可达对的对数。

样例

3 3
1 2
2 3
3 2
7
4 4
1 2
2 3
3 4
4 1
16

说明/提示

样例 1 解释

图中存在 77 对可达对,它们是 (1,1)(1,1)(1,2)(1,2)(1,3)(1,3)(2,2)(2,2)(2,3)(2,3)(3,2)(3,2)(3,3)(3,3)

样例 2 解释

图中任意一对顶点对都是可达对。