만드는 중입니다

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

역순서쌍 통계

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

요약
1부터 n까지의 순열 가운데 역전쌍이 정확히 k개인 것의 수를 10^6+3으로 나눈 나머지로 구합니다.
난이도

어려움10점 중 8점

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

문제

수열 a1,⋯ ,ana_1, \cdots, a_n에서 i<ji < j이고 ai>aja_i > a_j를 만족하는 순서쌍 (i,j)(i, j)를 inversion이라고 한다. 1,⋯ ,n1, \cdots, n의 순열 중 inversion이 정확히 kk개인 순열의 개수를 I(n,k)I(n, k)라고 하자.

소수 P=106+3P = 10^6 + 3에 대해, nn과 kk가 주어졌을 때 I(n,k)I(n, k)를 PP로 나눈 나머지를 구하는 프로그램을 작성하시오.

입력

입력의 첫 줄에 테스트 케이스의 개수 TT가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 정수 nn과 kk가 공백을 사이에 두고 주어진다.

출력

테스트 케이스마다 한 줄에 I(n,k)I(n, k)를 PP로 나눈 나머지를 출력한다. P=106+3P = 10^6 + 3은 소수이다.

제한

  • 1≤T≤101 \le T \le 10
  • 1≤n≤2×10101 \le n \le 2 \times 10^{10}
  • 0≤k≤2n0 \le k \le 2n
  • P=106+3P = 10^6 + 3은 소수이다.

예제1

  1. 예제 1

    입력
    10
    10 2
    10 4
    10 6
    10 8
    10 10
    10 12
    10 14
    10 16
    10 18
    10 20
    
    예상 출력
    44
    440
    2298
    8095
    21670
    47043
    86054
    135853
    187959
    230131