Inversion Statistics

아직 제출이 없습니다시간 제한1초메모리 제한1536 MB

문제

수열 a_1,,a_na\_{1}, \cdots, a\_{n}의 inversion이란 i<j,a_i>a_ji < j, a\_{i} > a\_{j}를 만족하는 순서쌍 (i,j)(i,j)의 개수이다.

1,,n1, \cdots, n의 순열 중 inversion이 kk개인 것의 개수를 I(n,k)I(n, k)라고 하자.

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

입력

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

각 테스트 케이스는 한 줄로 이루어져 있으며, 정수 n,kn, k가 공백을 사이에 두고 주어진다.

출력

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

제한

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