만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

세 도로

시간 제한8초메모리 제한1024 MB

요약
연결된 도시 n개와 도로 m개의 그래프에서 도로 3개를 없앴을 때 연결이 끊기는 경우의 수를 구합니다.
난이도

어려움10점 중 8점

유형
그래프, DFS, 조합론
정답자
아직 제출이 없습니다

문제

바이투르 왕은 바이토시아의 왕이다. 그는 비토시아를 정복하는 꿈을 꾸기를 좋아한다. 적을 이기는 꿈은 즐겁지만, 현실은 꿈과 다르다.

바이토시아에는 1번부터 nn번까지 번호가 붙은 nn개의 도시가 있고, mm개의 양방향 도로로 연결되어 있다. 각 도로는 서로 다른 두 도시를 잇는다. 같은 두 도시를 잇는 도로가 여러 개 있을 수도 있다. 어느 도시에서든 도로를 따라 다른 모든 도시로 갈 수 있다.

비토시아가 바이토시아를 공격해 기존 mm개의 도로 중 3개를 파괴한다고 하자. 이때 나라의 교통에 심각한 피해가 생길 가능성은 얼마나 될까? 도로 3개를 파괴한 뒤 남은 도로만으로는 서로 오갈 수 없는 도시 쌍이 하나라도 생기는 도로 3개의 조합 수를 구하라.

입력

첫 줄에 도시의 수 nn과 도로의 수 mm이 주어진다 (2≤n≤2000002 \le n \le 200000, 3≤m≤5000003 \le m \le 500000).

이어지는 mm개의 줄에는 도로 정보가 주어진다. ii번째 줄에는 ii번째 도로가 잇는 두 도시의 번호 aia_i, bib_i가 주어진다 (1≤ai,bi≤n1 \le a_i, b_i \le n, ai≠bia_i \ne b_i).

어느 도시에서든 다른 모든 도시로 갈 수 있다고 가정해도 된다.

출력

도로 3개를 고르는 조합 중, 파괴한 뒤 서로 오갈 수 없는 도시 쌍이 하나라도 생기는 조합의 수를 한 줄에 출력한다. 도로의 순서는 고려하지 않는다.

힌트

예시 설명: 세 번째, 다섯 번째, 일곱 번째 도로를 파괴하면 바이토시아는 두 조각보다 많은 부분으로 나뉜다. 그래도 이 도로 3개의 조합은 한 번만 세야 한다.

예제1

  1. 예제 1

    입력
    8 11
    2 3
    4 5
    3 1
    3 2
    5 7
    3 6
    1 2
    3 4
    6 5
    8 7
    7 8
    
    예상 출력
    103