만드는 중입니다

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

블록

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

요약
1부터 n까지의 순열 중 왼쪽에서 l개, 오른쪽에서 p개의 최댓값이 보이는 순열의 개수를 10^9+7로 나눈 나머지를 구합니다.
난이도

보통10점 중 6점

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

문제

소피는 nn개의 직육면체 블록을 가지고 논다. ii번째 블록의 크기는 1×1×i1 \times 1 \times i이다.

그녀는 모든 블록을 1×11 \times 1 면이 바닥에 닿도록 세워서 한 줄로 나란히 배치한다. 배치가 끝나면 소피는 멀리 떨어져서 줄의 왼쪽 끝과 오른쪽 끝에서 각각 바라본다. 각 블록은 뒤에 있는 자기보다 낮은 블록을 모두 가린다.

소피는 왼쪽 끝에서 정확히 ℓ\ell개의 블록이, 오른쪽 끝에서 정확히 pp개의 블록이 보일 때 만족한다. 그녀를 만족시키는 배치의 수를 구하라.

입력

첫 줄에 데이터 세트의 개수 mm (1≤m≤1000001 \le m \le 100000)이 주어진다. 이어지는 mm개의 줄에는 세 정수 nn, ℓ\ell, pp (1≤n≤500001 \le n \le 50000, 1≤ℓ,p≤1001 \le \ell, p \le 100)가 공백으로 구분되어 한 줄에 하나씩 주어진다. 각각 블록의 개수, 왼쪽 끝에서 보고 싶은 블록의 개수, 오른쪽 끝에서 보고 싶은 블록의 개수이다.

출력

각 데이터 세트에 대해 만족하는 배치의 수를 109+710^9 + 7로 나눈 나머지를 한 줄에 출력한다.

힌트

첫 번째 데이터 세트에서 만족하는 배치는 (1,2,4,3)(1,2,4,3), (1,3,4,2)(1,3,4,2), (2,3,4,1)(2,3,4,1)이다. 배치 (1,2,4,3)(1,2,4,3)에서는 왼쪽에서 블록 1, 2, 4가 보이고, 오른쪽에서는 블록 4와 3이 보인다.

예제1

  1. 예제 1

    입력
    2
    4 3 2
    5 3 3
    
    예상 출력
    3
    6