점화식

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

문제

정수 튜플 P=(P1,P2,P3,,Pn)P = (P_1, P_2, P_3, \dots, P_n)이 주어진다. 이 튜플에 대한 함수 FF를 다음 세 규칙으로 정의한다.

PiP_i 중 하나라도 음수이거나 P1P2PnP_1 \ge P_2 \ge \dots \ge P_n이 성립하지 않으면 F(P)=0F(P) = 0이다.

P=(0,0,,0)P = (0, 0, \dots, 0)이면 F(P)=1F(P) = 1이다.

그 밖의 경우에는 좌표 하나를 골라 1을 뺀 튜플 nn개의 함숫값을 모두 더한다.

F(P1,P2,,Pn)=k=1nF(P1,,Pk1,,Pn)F(P_1, P_2, \dots, P_n) = \sum_{k=1}^{n} F(P_1, \dots, P_k - 1, \dots, P_n)

n=4n = 4인 경우를 보자. F(4,3,2,1)F(4, 3, 2, -1)은 마지막 좌표가 음수이므로 0이다. F(4,3,2,5)F(4, 3, 2, 5)는 좌표가 큰 수부터 작은 수 순서로 놓여 있지 않으므로 0이다. F(4,3,2,1)F(4, 3, 2, 1)F(3,3,2,1)+F(4,2,2,1)+F(4,3,1,1)+F(4,3,2,0)F(3, 3, 2, 1) + F(4, 2, 2, 1) + F(4, 3, 1, 1) + F(4, 3, 2, 0)이다.

튜플 PP가 주어지면 F(P1,P2,,Pn)F(P_1, P_2, \dots, P_n)을 구하라. 값이 매우 커질 수 있으므로 소수 1,000,000,009로 나눈 나머지를 출력한다.

입력

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

각 테스트 케이스는 두 줄이다. 첫째 줄에 nn이 주어지고, 둘째 줄에 공백 하나로 구분된 정수 nn개가 주어진다. 이 수가 튜플 PP다.

1n10001 \le n \le 1000이고 1Pi10001 \le P_i \le 1000이다. PPP1P2PnP_1 \ge P_2 \ge \dots \ge P_n을 만족한다.

출력

각 테스트 케이스마다 Case #x: R 형식으로 한 줄씩 출력한다. xx는 테스트 케이스 번호이고 1부터 시작한다. RRF(P1,P2,,Pn)F(P_1, P_2, \dots, P_n)을 1,000,000,009로 나눈 나머지다.