만드는 중입니다

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

혼란도

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

요약
N개의 꼭짓점으로 이루어진 삼각분할된 볼록다각형에서 단순 사이클의 개수를 10^9+7로 나눈 나머지를 구합니다.
난이도

보통10점 중 7점

유형
그래프, 동적 계획법, 트리
정답자
아직 제출이 없습니다

문제

맬나르 씨는 여름 동안 행선지를 무작위로 정해 비행기로 세계를 여행하기로 했다. 얼마 뒤 그는 낯선 나라의 수도에 도착했는데, 그곳의 도로는 삼각분할을 떠올리게 했다. 정확히 말하면, 이 도시에는 1번부터 NN번까지 번호가 붙은 NN개의 볼거리가 있고, 이들은 2N−32N - 3개의 도로로 이어져 있다. 지점 1,2,…,N1, 2, \dots , N은 이 순서대로 연결되어 변이 NN개인 볼록 다각형을 이룬다. 나머지 N−3N - 3개의 도로는 끝점을 제외하고 서로 교차하지 않도록 지점들을 잇는다.

도로를 따라 걷던 맬나르 씨는 어떤 지점도 두 번 거치지 않고 출발점으로 돌아왔다. 그는 이것이 흔한 일이라고 여기고, 도시의 혼란도를 단순 닫힌 루프의 개수로 정의했다.

단순 닫힌 경로는 지점의 수열 V1,V2,…,VmV_1, V_2, \dots , V_m으로, 모든 i=1,2,…,m−1i = 1, 2, \dots , m - 1에 대해 ViV_i와 Vi+1V_{i+1}이 도로로 연결되고, VmV_m과 V1V_1도 도로로 연결되어 있다. 한 경로를 순환 이동하거나 뒤집어서 다른 경로를 얻을 수 있으면 두 경로는 같다고 본다. 예를 들어 (1,2,3,4)(1, 2, 3, 4)는 (2,3,4,1)(2, 3, 4, 1)과 같다. 단순 닫힌 루프는 같은 경로끼리 묶은 집합이다.

이 도시의 혼란도를 계산해 달라.

입력

첫 줄에 지점의 수를 나타내는 정수 NN (1≤N≤2⋅1051 \le N \le 2 \cdot 10^5)이 주어진다.

이어지는 N−3N - 3개의 줄에는 ii번째 도로가 잇는 지점의 번호 XiX_i, YiY_i (1≤Xi,Yi≤N1 \le X_i, Y_i \le N)가 각각 주어진다.

출력

도시의 혼란도를 109+710^9 + 7로 나눈 나머지를 출력한다.

예제3

  1. 예제 1

    입력
    4
    1 3
    
    예상 출력
    3
    
  2. 예제 2

    입력
    5
    1 3
    3 5
    
    예상 출력
    6
    
  3. 예제 3

    입력
    6
    2 4
    4 6
    6 2
    
    예상 출력
    11