해안선

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

요약
볼록 다각형 위 도시들을 교차 없이 한 번씩 지나는 해밀턴 경로 중 1번에서 출발하고 주어진 특별한 도로를 반드시 쓰는 경로의 수를 센다.
난이도

보통10점 중 6점

유형
조합론, 동적 계획법, 기하
정답자
아직 제출이 없습니다

문제

NN개의 도시가 해안선을 따라 원형으로 배치되어 있다. 도시는 시계 방향으로 11번부터 NN번까지 번호가 차례로 붙어 있다. 모든 도시 쌍에 대해, 해당 두 도시를 연결하는 양방향 직선 도로가 존재한다.

이 수많은 도로들 중, aa번 도시와 bb번 도시를 잇는 도로를 특별한 도로라고 부른다. 이 특별한 도로는 11번 도시가 아닌 두 도시를 이으며, 경치가 가장 아름다운 도로로 알려져 있다.

정서는 다음과 같은 방식으로, 도로만을 이용해 이 도시들을 여행하려 한다.

  • 여행은 11번 도시에서 출발하며, 출발과 동시에 11번 도시는 이미 방문한 것으로 간주한다.
  • 여행 중에는 11번 도시를 포함한 이미 방문한 도시를 다시 방문해서는 안 되며, 모든 도시를 정확히 한 번씩 방문해야 한다.
  • 여행 중 이용하는 어떤 두 도로도 서로 교차하지 않아야 한다.
  • 여행 중에는 반드시 특별한 도로를 한 번 이용해야 한다. 단, 특별한 도로를 이용하는 방향은 중요하지 않다.

위 조건을 모두 만족하는 이동 경로의 수를 구하시오.

입력

첫째 줄에 도시의 수 NN이 주어진다. (3≤N≤1,000,0003 \leq N \leq 1\\,000\\,000)

둘째 줄에 특별한 도로가 잇는 두 도시의 번호 aa, bb가 공백으로 구분되어 주어진다. (2≤a,b≤N2\leq a, b \leq N; a≠ba\neq b)

출력

조건을 만족하는 모든 경로의 수를 1,000,000,0071\\,000\\,000\\,007로 나눈 나머지를 출력한다.

예제2

  1. 예제 1

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

    입력
    6
    5 4
    
    예상 출력
    11