Just Add an Edge

题意翻译

给定一个 DAG,边一定从编号小的点连向编号大的点,求有多少对 $(x,y)$ 使得 $x>y$ 且添加 $(x,y)$ 这条边后的图存在哈密顿路径。

题目描述

You are given a directed acyclic graph with $ n $ vertices and $ m $ edges. For all edges $ a \to b $ in the graph, $ a < b $ holds. You need to find the number of pairs of vertices $ x $ , $ y $ , such that $ x > y $ and after adding the edge $ x \to y $ to the graph, it has a Hamiltonian path.

输入输出格式

输入格式


The first line of input contains one integer $ t $ ( $ 1 \leq t \leq 5 $ ): the number of test cases. The next lines contains the descriptions of the test cases. In the first line you are given two integers $ n $ and $ m $ ( $ 1 \leq n \leq 150\,000 $ , $ 0 \leq m \leq \min(150\,000, \frac{n(n-1)}{2}) $ ): the number of vertices and edges in the graph. Each of the next $ m $ lines contains two integers $ a $ , $ b $ ( $ 1 \leq a < b \leq n $ ), specifying an edge $ a \to b $ in the graph. No edge $ a \to b $ appears more than once.

输出格式


For each test case, print one integer: the number of pairs of vertices $ x $ , $ y $ , $ x > y $ , such that after adding the edge $ x \to y $ to the graph, it has a Hamiltonian path.

输入输出样例

输入样例 #1

3
3 2
1 2
2 3
4 3
1 2
3 4
1 4
4 4
1 3
1 4
2 3
3 4

输出样例 #1

3
1
4

说明

In the first example, any edge $ x \to y $ such that $ x > y $ is valid, because there already is a path $ 1 \to 2 \to 3 $ . In the second example only the edge $ 4 \to 1 $ is valid. There is a path $ 3 \to 4 \to 1 \to 2 $ if this edge is added. In the third example you can add edges $ 2 \to 1 $ , $ 3 \to 1 $ , $ 4 \to 1 $ , $ 4 \to 2 $ .