196. Matrix Multiplication

time limit per test: 0.25 sec.
memory limit per test: 65536 KB
input: standard
output: standard

Let us consider an undirected graph G = <V, E> which has N vertices and M edges. Incidence matrix of this graph is an N × M matrix A = {aij}, such that aij is 1 if i-th vertex is one of the ends of j-th edge and 0 in the other case. Your task is to find the sum of all elements of the matrix ATA where AT is A transposed, i.e. an M × N matrix obtained from A by turning its columns to rows and vice versa.


The first line of the input file contains two integer numbers — N and M (2 le N le 10,000, 1 le M le 100,000). 2M integer numbers follow, forming M pairs, each pair describes one edge of the graph. All edges are different and there are no loops (i.e. edge ends are distinct).


Output the only number — the sum requested.

Sample test(s)

4 4
1 2
1 3
2 3
2 4


Author:Andrew Stankevich, Georgiy Korneev
Resource:Petrozavodsk Winter Trainings 2003