천상용섬

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

문제

시대를 초월하는 검객 승균이는 자신의 문파 알프스검류를 단련하려고 신기술 천상용섬을 연마했다.

천상용섬은 눈앞에 놓인 NN개의 물체를 놓인 순서대로 하나씩 베는 기술이다. 베는 높이는 앞의 물체를 벨 때보다 낮아지지 않는다. 즉 그대로 유지되거나 더 높아진다.

천상용섬의 대단한 점은 물체의 높이를 베는 높이로 나누면 항상 자연수로 나누어떨어진다는 것이다. 물체의 높이만큼 벨 수도 있다. 단, 높이 0은 벨 수 없다.

예를 들어 눈앞에 높이가 각각 2, 4, 6인 물체 3개가 있다고 하자. 이때 각각 높이 1, 2, 3에서 벨 수 있다. 2는 1로, 4는 2로, 6은 3으로 나누어떨어지고 베는 높이가 낮아지지 않기 때문이다. 같은 이유로 1, 1, 1도 되고, 정확도를 자랑하는 2, 4, 6도 된다.

승균이는 천상용섬에 얼마나 큰 가능성이 있는지 알아보려고 NN개의 물체를 베는 모든 경우의 수를 구하려 한다. 위 예에서는 12가지다.

그런데 승균이는 숫자를 배우지 못해 직접 셀 수 없다. 대신 경우의 수를 세어 주자.

입력

입력은 여러 테스트케이스로 이루어진다.

첫째 줄에 테스트케이스의 개수 TT가 주어진다. (1T30)(1 \le T \le 30)

각 테스트케이스의 첫째 줄에 물체의 개수 NN이 주어진다. (1N300)(1 \le N \le 300)

둘째 줄에 물체의 높이 H1,H2,,HNH_1, H_2, \dots, H_N이 공백으로 구분되어 주어진다. (1Hi1000000)(1 \le H_i \le 1000000)

출력

각 테스트케이스마다 승균이가 물체를 베는 경우의 수를 10000000071000000007로 나눈 나머지를 한 줄에 출력한다.