Сума відстаней#9496

Сума відстаней

1 секунда
128 мегабайтів
Дуже складна

Задано зв'язний неорієнтований неваговий граф. Відстань d(u, v) між двома вершинами і визначається як кількість ребер на найкоротшому шляху між ними. Знайдіть суму d(u, v) для всіх неупорядкованих пар .

Вхідні дані

Перша строка містить два цілі числа і (2 \le n \le 10^5, n - 1 \le m \le n + 42) - кількість вершин і кількість ребер у графі відповідно. Вершини пронумеровані від до .

Кожен з наступних рядків містить два цілі числа x_i і y_i (1 \le x_i, y_i \le n, x_i \ne y_i) - кінці -го ребра.

Між кожною парою вершин не більше одного ребра.

Вихідні дані

Виведіть єдине ціле число - суму відстаней між усіма неупорядкованими парами вершин у графі.

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading

Примітка

У першому прикладі відстань між чотирма парами вершин, з'єднаних ребром, дорівнює , а d(1, 4) = d(2, 4) = 2.