만드는 중입니다

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

궁극의 마법 직사각형 (어려움)

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

요약
3행 c열 표에 음이 아닌 정수를 채워 서로 다른 행에 있고 한 직선 위에 놓인 세 칸의 합이 모두 s가 되는 경우의 수를 10^9 + 9로 나눈 나머지로 구합니다.
난이도

어려움10점 중 8점

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

문제

밥이 오늘 바빠서, 앨리스가 1인용 게임을 찾았다.

이 게임에서 앨리스는 정수 ss와 행이 r=3r = 3개, 열이 cc개인 빈 표를 받는다. 앨리스는 표의 칸에 음이 아닌 정수를 채워야 한다.

서로 다른 행에 있고 중심이 한 직선 위에 놓인 세 칸을 삼중항이라고 한다. 이 게임의 목표는 모든 삼중항의 합이 같아지도록 표를 채우는 것이다.

열의 수 cc와 각 삼중항의 목표 합 ss가 주어졌을 때, 조건에 맞게 표를 채우는 방법의 수를 구하라. 이 수가 클 수 있으므로 109+910^9 + 9로 나눈 나머지를 출력한다.

위: 열이 c=8c = 8인 표에서 삼중항 하나의 예.

입력

첫 줄에 테스트 케이스의 수 tt가 주어진다. 각 테스트 케이스 앞에는 빈 줄이 하나 있다.

각 테스트 케이스는 공백으로 구분된 정수 cc와 ss가 한 줄에 주어진다.

출력

각 테스트 케이스마다 해의 개수를 109+910^9 + 9로 나눈 나머지를 별도의 줄에 출력한다.

제한

1≤c≤10001 \le c \le 1000

0≤s≤1090 \le s \le 10^9

힌트

첫 번째 테스트 케이스에는 삼중항이 다섯 개 있다. 3×33 \times 3 정사각형의 각 열과 두 대각선이다. 각 삼중항의 합이 1이어야 하므로, 각 삼중항에는 0이 두 개, 1이 하나 들어가야 한다. 해는 다음 다섯 가지이다.

111   000   000   101   010
000   111   000   000   000
000   000   111   010   101

두 번째 테스트 케이스에서 유효한 34개의 해 중 하나는 1로 가득 찬 3×43 \times 4 직사각형이다.

예제1

  1. 예제 1

    입력
    2
    
    3 1
    
    4 3
    
    예상 출력
    5
    34