파스칼 행렬의 거듭제곱
시간 제한1초메모리 제한128 MB
파스칼 행렬을 P번 곱한 행렬에서 R행 C열 값을 테스트 케이스마다 구합니다.
문제
파스칼 행렬은 크기가 무한한 행렬이고, 행 번호와 열 번호는 0부터 센다. 각 원소는 다음과 같이 정의한다.
Pascal[row, column] = Comb(row, column) (0 ≤ column ≤ row)
이 범위를 벗어난 자리는 모두 0이다. Comb(n, k)는 서로 다른 n개에서 k개를 고르는 조합의 수이다.
파스칼 행렬 개를 곱한 행렬을 PascalP라고 하자.
PascalP = Pascal × Pascal × ... × Pascal
PascalP의 원소 하나를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 테스트 케이스의 개수 ()가 주어진다.
이어지는 개 줄에 테스트 케이스가 한 줄에 하나씩 주어진다. 각 줄은 정수 네 개로 이루어진다. 첫 번째 정수는 테스트 케이스 번호이고, 두 번째 정수는 (), 세 번째와 네 번째 정수는 각각 과 이다 ().
출력
각 테스트 케이스마다 테스트 케이스 번호와 PascalP의 행 열 값을 공백 하나로 구분해 한 줄에 출력한다.
답이 64비트 정수 범위를 넘지 않는 입력만 주어진다.