60012 새로운 인연 Diamond V

시간 제한: 2초 메모리 제한: 2048MB

문제

NN쌍의 이별한 커플이 새로운 인연을 찾기 위해 한자리에 모였다. 각 커플은 남자 11명과 여자 11명으로 구성되어 있으며, NN쌍의 커플은 서로 다른 남자 NN명과 서로 다른 여자 NN명으로 구성되어 있다. 이들은 11번부터 2N2N번까지 번호가 붙은 2N2N개의 의자에 다음 조건을 만족하면서 앉아 있다.

  • 같은 의자에 앉은 다른 사람이 존재하지 않는다. 즉, 의자 11개에는 정확히 11명만 앉아 있다.
  • ii번째 이별한 커플의 남자는 LiL_i번 의자, 여자는 RiR_i번 의자에 앉아 있다. (1iN1 ≤ i ≤ N)
  • 1Li<Ri2N1 ≤ L_i < R_i ≤ 2N (1iN1 ≤ i ≤ N)
  • Li<Lj<Ri<RjL_i < L_j < R_i < R_j인 경우가 존재하지 않는다. (1i,jN1 ≤ i, j ≤ N)

이들은 다음 조건을 만족하는 NN쌍의 새로운 커플을 만들려고 한다.

  • 새로운 커플은 남자 11명과 여자 11명으로 구성되어야 하며, 모든 사람은 정확히 11쌍의 새로운 커플에 속해야 한다.
  • 모든 사람은 기존 이별한 상대가 아닌 사람과 짝지어져야 한다.
  • 임의의 새로운 커플에 대해, 남자가 앉은 의자의 번호를 ll, 여자가 앉은 의자의 번호를 rr이라고 하면 l<rl < r 이다.

예를 들어, N=3N = 3이고 L1=1L_1 = 1, R1=6R_1 = 6, L2=2L_2 = 2, R2=3R_2 = 3, L3=4L_3 = 4, R3=5R_3 = 5인 경우를 생각해 보자. 11번 의자에 앉은 남자와 66번 의자에 앉은 여자는 이별한 커플이므로, 새로운 커플이 될 수 없다. 44번 의자에 앉은 남자와 33번 의자에 앉은 여자는 이별한 커플이 아니지만, 남자가 앉은 의자의 번호가 더 크기 때문에 새로운 커플이 될 수 없다.

반면, 11번 의자에 앉은 남자와 33번 의자에 앉은 여자는 새로운 커플이 될 수 있다. 22번 의자에 앉은 남자와 55번 의자에 앉은 여자, 44번 의자에 앉은 남자와 66번 의자에 앉은 여자도 새로운 커플이 될 수 있다. 이러한 방식으로 조건을 만족하는 33쌍의 커플을 만들 수 있다.

여러분은 NN쌍의 새로운 커플을 만드는 서로 다른 방법의 수를 계산해야 한다. NN쌍의 새로운 커플을 만드는 두 방법이 다르다는 것은 둘 중 하나로만 만들어질 수 있는 새로운 커플이 존재한다는 것을 뜻한다.

위에서 든 예시의 경우, 33쌍의 커플을 만드는 방법이 유일하다는 것을 증명할 수 있다. 따라서, 이 경우 답은 11이다.

방법의 수가 매우 클 수 있으므로, 109+710^9 + 7로 나눈 나머지를 구하여라.

하나의 입력에서 TT개의 테스트케이스를 해결해야 한다.

입력

첫 번째 줄에 테스트케이스의 개수 TT가 주어진다.

두 번째 줄부터 TT개의 테스트케이스가 주어진다. 각 테스트케이스는 N+1N + 1개의 줄로 구성되어 있다.

각 테스트케이스의 첫 번째 줄에 NN이 주어진다.

각 테스트케이스의 1+i1 + i번째 줄에 LiL_iRiR_i가 공백으로 구분되어 주어진다.

출력

각 테스트케이스마다 한 줄에 하나씩 정답을 출력한다.

제한

  • 주어지는 모든 수는 정수이다.
  • 1T1001 ≤ T ≤ 100
  • 1N30001 ≤ N ≤ 3\, 000
  • 각 테스트케이스의 모든 NN의 합을 SS라고 하면, 1S30001 ≤ S ≤ 3\, 000
  • 1Li<Ri2N1 ≤ L_i < R_i ≤ 2N (1iN1 ≤ i ≤ N)
  • L1,L2,,LN,R1,R2,,RNL_1 ,L_2 ,\cdots ,L_N , R_1 , R_2 , \cdots, R_N은 서로 다르다.
  • Li<Lj<Ri<RjL_i < L_j < R_i < R_j 인 경우가 존재하지 않는다. (1i,jN1 ≤ i, j ≤ N)

서브태스크

번호배점제한
111N8N ≤ 8, S800S ≤ 800.
232N16N ≤ 16, S1600S ≤ 1\, 600.
320N100N ≤ 100, S2000S ≤ 2\, 000, Li<Lj<Rj<Lk<Rk<RiL_i < L_j < R_j < L_k < R_k < R_i인 경우가 존재하지 않는다. (1i,j,kN1 ≤ i, j, k ≤ N)
427N100N ≤ 100, S2000S ≤ 2\, 000.
510추가 제약 조건 없음.

예제 입출력

예제 입력 1
5
1
1 2
2
1 4
2 3
3
1 6
2 5
3 4
3
1 6
2 3
4 5
4
1 8
5 6
2 7
3 4
예제 출력 1
0
1
2
1
6

출처

올림피아드 한국정보올림피아드 KOI 2025 2차 고등부 2번
solution.cpp
에디터 불러오는 중...