도로 개편
시간 제한2초메모리 제한256 MB
기존 도로 하나를 없애고 새 도로 하나를 지어 전체 그래프를 연결되게 만드는 방법의 수를 구한다. 새로 짓는 도로는 원래 없던 도로여야 한다.
문제
어떤 나라에 정확히 개의 도시와 그 사이를 잇는 개의 도로가 있었다. 이 나라의 도로망은 다음과 같은 성질을 만족했다.
- 임의의 두 도시 사이에는 도로가 많아야 하나 있다.
- 어떤 도로도 도시를 자기 자신과 연결하지 않는다.
정권이 바뀐 뒤 새 정부는 여러 개혁을 추진하기로 했고, 그중에는 도로망을 바꾸는 개혁도 있다. 이 개혁은 두 단계로 이루어진다.
- 기존 도로 하나를 부순다.
- 이전에 없던 새 도로를 하나 놓는다. 이때 도시를 자기 자신과 연결하는 도로는 놓을 수 없다.
또한 도시 사이의 경제적 연결을 개선하기 위해, 정부는 도로 개혁을 시행한 뒤 임의의 도시에서 다른 임의의 도시로 갈 수 있기를 원한다. 개혁 전에 이 조건이 만족되었다는 보장은 없다.
이제 정부는 개혁을 시행하는 방법이 몇 가지인지 알고 싶어 한다. 정부를 도와주자.
입력
첫째 줄에 두 정수 과 이 주어진다 (, ). 다음 개의 줄에는 두 정수 와 가 주어진다 (, ). 이는 번째 도로가 연결하는 두 도시의 번호이다.
출력
개혁을 시행하는 방법의 수를 나타내는 정수 하나를 출력한다.