Along the Cheonggyecheon walking path, from the apartment complex to Gyuhyun Chicken, several stands sell margaritas. Each stand sells one distinct margarita, and at most one drink can be bought from each stand.
Seunghwan chooses some stands and buys margaritas without spending more than his budget D. A purchase combination is valid only if, after the purchase, the remaining money cannot buy a margarita from any stand he did not choose. In other words, if the chosen prices sum to S, then S <= D, and every unchosen stand has price greater than D - S.
Stands are considered distinct even when their prices are equal. For each test case, count the number of valid purchase combinations.
The first line contains the number of test cases T (1 <= T <= 1,000).
Each test case consists of two lines. The first line contains the number of stands V (1 <= V <= 30) and Seunghwan's budget D (1 <= D <= 1,000), separated by a space. The second line contains V positive integer prices, one for each stand.
All money values are given in units of ten thousand won. Thus, a budget of 10 means 100,000 won, and a price of 2 means 20,000 won.
For each test case, output the number of valid margarita purchase combinations.
The input is chosen so that every answer can be represented as a 32-bit unsigned integer.