#abc282d. [abc282_d]Make Bipartite 2

[abc282_d]Make Bipartite 2

题目描述

给定一个简单无向图 GG,有 NN 个顶点和 MM 条边(简单图不包含自环或多重边)。对于 i=1,2,,Mi=1,2,\ldots,M,第 ii 条边连接顶点 uiu_i 和顶点 viv_i

输出满足以下条件的整数对 (u,v)(u, v) 的数量,其中 1u<vN1 \leq u < v \leq N

  • GG 中没有连接顶点 uu 和顶点 vv 的边。
  • 向图 GG 中添加连接顶点 uu 和顶点 vv 的边会得到一个二分图。

什么是二分图?

一个无向图被称为二分图,当且仅当可以将每个顶点涂成黑色或白色,以满足以下条件:

  • 没有连接相同颜色的顶点的边。

约束条件

  • 2N2×1052 \leq N \leq 2 \times 10^5
  • 0Mmin{2×105,N(N1)/2}0 \leq M \leq \min \{2 \times 10^5, N(N-1)/2\}
  • 1ui,viN1 \leq u_i, v_i \leq N
  • GG 是简单图。
  • 输入中的所有值都是整数。

输入

输入通过标准输入给出,格式如下:

NN MM u1u_1 v1v_1 u2u_2 v2v_2 \vdots uMu_M vMv_M

输出

输出答案。


示例输入 1

5 4
4 2
3 1
5 2
3 2

示例输出 1

2

满足题目描述条件的整数对 (u,v)(u, v) 有两个:(1,4)(1, 4)(1,5)(1, 5)。因此,你应该输出 22
其他整数对不满足条件。例如,对于 (1,3)(1, 3),图 GG 中有一条连接顶点 11 和顶点 33 的边;对于 (4,5)(4, 5),向图 GG 中添加连接顶点 44 和顶点 55 的边不会得到一个二分图。


示例输入 2

4 3
3 1
3 2
1 2

示例输出 2

0

注意给定的图可能不是二分图或连通图。


示例输入 3

9 11
4 9
9 1
8 2
8 3
9 2
8 4
6 7
4 6
7 5
4 5
7 8

示例输出 3

9