#RELAY2D. Shock

Shock

Score : 100100 points

Problem Statement

You are given an undirected graph GG. GG has NN vertices and MM edges. The vertices are numbered from 11 through NN, and the ii-th edge (1iM)(1 \leq i \leq M) connects Vertex aia_i and bib_i. GG does not have self-loops and multiple edges.

You can repeatedly perform the operation of adding an edge between two vertices. However, GG must not have self-loops or multiple edges as the result. Also, if Vertex 11 and 22 are connected directly or indirectly by edges, your body will be exposed to a voltage of 10000000071000000007 volts. This must also be avoided.

Under these conditions, at most how many edges can you add? Note that Vertex 11 and 22 are never connected directly or indirectly in the beginning.

Constraints

  • 2N1052 \leq N \leq 10^5
  • 0M1050 \leq M \leq 10^5
  • 1ai<biN1 \leq a_i < b_i \leq N
  • All pairs (ai,bi)(a_i, b_i) are distinct.
  • Vertex 11 and 22 in GG are not connected directly or indirectly by edges.

Input

Input is given from Standard Input in the following format:

NN MM

a1a_1 b1b_1

::

aMa_M bMb_M

Output

Print the maximum number of edges that can be added.

4 1
1 3
2

As shown above, two edges can be added. It is not possible to add three or more edges.

2 0
0

No edge can be added.

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