순열의 하강 개수

N 이하의 순열 가운데 정확히 v개의 내림을 가진 것의 개수를 1001113으로 나눈 나머지를 구한다. N은 100 이하이고 질의는 최대 1000개다.

보통7동적 계획법조합론수학누적 합아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

양의 정수 NN에 대해 차수 NN의 순열은 1부터 NN까지의 정수 집합에서 자기 자신으로 가는 일대일 대응이다. 이런 함수 pp는 함숫값을 차례로 나열해 [p(1) p(2) ... p(N)]로 쓴다.

예를 들어 [5 6 2 4 7 1 3]은 {1, ..., 7}에서 자기 자신으로 가는 함수로, 1을 5로, 2를 6으로, 같은 식으로 7을 3으로 보낸다.

순열 pp의 하강은 p(k)>p(k+1)p(k) > p(k+1)을 만족하는 정수 kk다. 순열 [5 6 2 4 7 1 3]은 2에서 (6 > 2), 5에서 (7 > 1) 하강한다.

des(p)\mathrm{des}(p)pp의 하강 개수라고 하면 [5 6 2 4 7 1 3]des\mathrm{des} 값은 2다. des(p)=0\mathrm{des}(p) = 0인 순열은 항등 순열 하나뿐이고, des(p)=N1\mathrm{des}(p) = N-1인 순열은 p(k)=N+1kp(k) = N+1-k로 정의되는 역순 순열 하나뿐이다.

차수 NN과 값 vv에 대한 순열 하강 개수 PDC(N,v)\mathrm{PDC}(N, v)des(p)=v\mathrm{des}(p) = v인 차수 NN의 순열 pp의 개수다. 차수가 3이면 다음과 같다.

  • PDC(3,0)=1\mathrm{PDC}(3, 0) = 1, 해당 순열은 [1 2 3]
  • PDC(3,1)=4\mathrm{PDC}(3, 1) = 4, 해당 순열은 [1 3 2], [2 1 3], [2 3 1], [3 1 2]
  • PDC(3,2)=1\mathrm{PDC}(3, 2) = 1, 해당 순열은 [3 2 1]

주어진 NNvv에 대해 PDC(N,v)\mathrm{PDC}(N, v)를 구한다. 개수가 아주 커지므로 답과 중간 계산 모두 1001113으로 나눈 나머지로 다룬다.

입력

첫 줄에 데이터 세트의 개수 PP (1P10001 \le P \le 1000)가 주어진다. 모든 데이터 세트는 같은 방식으로, 서로 독립적으로 처리한다.

각 데이터 세트는 한 줄이다. 데이터 세트 번호 KK, 차수 NN (2N1002 \le N \le 100), 값 vv (0vN10 \le v \le N-1)가 순서대로 주어진다.

출력

데이터 세트마다 한 줄씩 출력한다. 한 줄에는 데이터 세트 번호 KK, 공백 하나, PDC(N,v)\mathrm{PDC}(N, v)를 1001113으로 나눈 나머지를 십진 정수로 적는다.