각 질의마다 액면 c_i짜리 동전을 d_i개 이하로 사용해 합이 정확히 v가 되는 조합의 수를 센다. 답은 64비트 정수 범위다.
어느 나라에서 쓰는 동전은 c1c_1c1원, c2c_2c2원, c3c_3c3원, c4c_4c4원 네 종류다. 지갑에는 c1c_1c1원 동전 d1d_1d1개, c2c_2c2원 동전 d2d_2d2개, c3c_3c3원 동전 d3d_3d3개, c4c_4c4원 동전 d4d_4d4개가 들어 있다. 이 동전으로 정확히 vvv원을 만드는 방법이 몇 가지인지 세는 프로그램을 작성하시오.
같은 종류의 동전은 서로 구별하지 않는다. 종류별로 사용한 개수가 모두 같으면 같은 방법이다.
예를 들어 1원 동전 3개, 2원 동전 2개, 5원 동전 3개, 10원 동전 1개를 가지고 10원을 만드는 방법은 네 가지다.
첫째 줄에 테스트 케이스의 개수 TTT가 주어진다. (1≤T≤1001 \le T \le 1001≤T≤100)
각 테스트 케이스의 첫째 줄에는 정수 c1c_1c1, c2c_2c2, c3c_3c3, c4c_4c4, qqq가 공백으로 구분되어 주어진다. (1≤c1<c2<c3<c4≤10001 \le c_1 < c_2 < c_3 < c_4 \le 10001≤c1<c2<c3<c4≤1000, 1≤q≤1001 \le q \le 1001≤q≤100)
이어지는 qqq개의 줄에는 쿼리가 한 줄에 하나씩 주어진다. 각 쿼리는 정수 d1d_1d1, d2d_2d2, d3d_3d3, d4d_4d4, vvv로 이루어진다. (1≤d1,d2,d3,d4,v≤1051 \le d_1, d_2, d_3, d_4, v \le 10^51≤d1,d2,d3,d4,v≤105)
각 쿼리마다 c1c_1c1원 동전을 d1d_1d1개 이하, c2c_2c2원 동전을 d2d_2d2개 이하, c3c_3c3원 동전을 d3d_3d3개 이하, c4c_4c4원 동전을 d4d_4d4개 이하로 써서 정확히 vvv원을 만드는 방법의 수를 한 줄에 하나씩 출력한다. 만드는 방법이 없으면 0을 출력한다. 답은 32비트 정수 범위를 넘을 수 있다.