有 $n$ 个人参加了 Snuke 奥林匹克竞赛。参赛者被编号为 $1$ 到 $n$。他们根据比赛结果被排名为第 $1$ 名到第 $n$ 名,且没有任意两名参赛者的排名相同。Snuke 分别向比赛中获得第 $1$、第 $2$ 和第 $3$ 名的参赛者颁发金牌、银牌和铜牌。
对于每个 $1 \le i \le m$,已知参赛者 $a_i$ 的表现优于参赛者 $b_i$(即 $a_i$ 获得了更小的排名)。求不同的奖牌获得者结果的数量。(如果金牌、银牌或铜牌中至少有一枚被授予了不同的参赛者,则认为两种结果是不同的。)
输入格式
输入的第一行包含两个整数 $n$ 和 $m$。接下来 $m$ 行,其中第 $i$ 行包含两个整数 $a_i$ 和 $b_i$。
数据范围
- $3 \le n \le 10^5$
- $1 \le m \le 10^5$
- $1 \le a_i, b_i \le n$
- 输入保证是一致的:至少存在一种满足所有由 $a_i, b_i$ 给出的条件的方法。
输出格式
输出不同的奖牌获得者结果的数量。
样例
输入样例 1
3 1 1 2
输出样例 1
3
输入样例 2
6 8 2 1 6 4 3 4 1 6 3 1 5 4 2 6 2 6
输出样例 2
8
说明
在样例 1 中,有三种可能性:(金牌, 银牌, 铜牌) = $(1, 2, 3)$, $(1, 3, 2)$, $(3, 1, 2)$。