친구 크러스티는 손님이 직접 버거를 조립하는 가게를 운영한다. 버거는 다음 다섯 단계로 만든다.
버거 값은 50그램당 $1이고, 크기는 50그램의 양의 배수라면 무엇이든 고를 수 있다. 3단계부터 5단계까지의 허용량을 넘는 항목은 한 개마다 $1이 붙는다. 즉 두 번째 치즈, 두 번째 소스, 네 번째부터의 토핑이 각각 $1이다.
예를 들어 100그램 버거에 1번 빵, 서로 다른 치즈 2개, 토핑 5개를 올리고 소스를 넣지 않으면 값은 $5다. 크기 값 $2에 추가 치즈 $1, 추가 토핑 2개 값 $2를 더한 값이다.
예산 B가 주어질 때, B 이하로 만들 수 있는 서로 다른 버거의 개수를 구한다. 한쪽에만 들어간 버거 크기, 빵, 치즈, 토핑, 소스가 있으면 두 버거는 서로 다르다.
첫째 줄에 테스트 케이스의 개수 T가 주어진다. 다음 T개 줄에는 각 줄마다 다섯 정수 B, Nb, Nc, Nt, Ns가 공백으로 구분되어 주어진다.
각 테스트 케이스마다 예산 안에서 만들 수 있는 서로 다른 버거의 개수를 한 줄에 하나씩 출력한다. 이 개수는 매우 클 수 있으므로 1,000,000,007로 나눈 나머지를 출력한다.