아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

도로 개편

시간 제한2초메모리 제한256 MB

요약
기존 도로 하나를 없애고 새 도로 하나를 지어 전체 그래프를 연결되게 만드는 방법의 수를 구한다. 새로 짓는 도로는 원래 없던 도로여야 한다.
난이도

어려움10점 중 8점

유형
그래프, 유니온 파인드, 조합론, 구현
정답자
아직 제출이 없습니다

문제

어떤 나라에 정확히 nn개의 도시와 그 사이를 잇는 mm개의 도로가 있었다. 이 나라의 도로망은 다음과 같은 성질을 만족했다.

  • 임의의 두 도시 사이에는 도로가 많아야 하나 있다.
  • 어떤 도로도 도시를 자기 자신과 연결하지 않는다.

정권이 바뀐 뒤 새 정부는 여러 개혁을 추진하기로 했고, 그중에는 도로망을 바꾸는 개혁도 있다. 이 개혁은 두 단계로 이루어진다.

  • 기존 도로 하나를 부순다.
  • 이전에 없던 새 도로를 하나 놓는다. 이때 도시를 자기 자신과 연결하는 도로는 놓을 수 없다.

또한 도시 사이의 경제적 연결을 개선하기 위해, 정부는 도로 개혁을 시행한 뒤 임의의 도시에서 다른 임의의 도시로 갈 수 있기를 원한다. 개혁 전에 이 조건이 만족되었다는 보장은 없다.

이제 정부는 개혁을 시행하는 방법이 몇 가지인지 알고 싶어 한다. 정부를 도와주자.

입력

첫째 줄에 두 정수 nn과 mm이 주어진다 (1≤n≤1000001 \le n \le 100000, 0≤m≤2000000 \le m \le 200000). 다음 mm개의 줄에는 두 정수 aia_i와 bib_i가 주어진다 (1≤ai,bi≤n1 \le a_i, b_i \le n, ai≠bia_i \ne b_i). 이는 ii번째 도로가 연결하는 두 도시의 번호이다.

출력

개혁을 시행하는 방법의 수를 나타내는 정수 하나를 출력한다.

예제1

  1. 예제 1

    입력
    4 4
    1 2
    2 3
    1 3
    3 4
    
    예상 출력
    8