Enzo is doing renovation for his new house. The most difficult part is to buy exactly the right number of tiles. He wants n tiles of different sizes. Of course they have to be cut from the tiles he bought. All the required tiles are square. The lengths of side of the tiles are 2s1, 2s2, ..., 2sn. He can only buy a lot of tiles sized m × m, and he decides to only cut tiles parallel to their sides for convenience. How many tiles does he need to buy?
The first line of the input gives the number of test cases: t (1 ≤ t ≤ 1000). t lines follow. Each line start with the number n (1 ≤ n ≤ 500) and m (1 ≤ m ≤ 231 - 1), indicating the number of required tiles and the size of the big tiles Enzo can buy. n numbers follow: s1, s2, ..., sn (1 ≤ 2sk ≤ m), showing the sizes of the required tiles.
For each test case, output one line containing the number of the big tiles Enzo need to buy.
## Input
The first line of the input gives the number of test cases: t (1 ≤ t ≤ 1000). t lines follow. Each line start with the number n (1 ≤ n ≤ 500) and m (1 ≤ m ≤ 231 - 1), indicating the number of required tiles and the size of the big tiles Enzo can buy. n numbers follow: s1, s2, ..., sn (1 ≤ 2sk ≤ m), showing the sizes of the required tiles.
## Output
For each test case, output one line containing the number of the big tiles Enzo need to buy.
[samples]
**Definitions**
Let $ t \in \mathbb{Z} $ be the number of test cases.
For each test case $ k \in \{1, \dots, t\} $:
- Let $ n_k \in \mathbb{Z} $ be the number of required square tiles.
- Let $ m_k \in \mathbb{Z} $ be the side length of the available big tiles.
- Let $ S_k = (s_{k,1}, s_{k,2}, \dots, s_{k,n_k}) $ be a sequence of integers such that the required tiles have side lengths $ 2s_{k,i} $ for $ i \in \{1, \dots, n_k\} $.
**Constraints**
1. $ 1 \le t \le 1000 $
2. For each $ k \in \{1, \dots, t\} $:
- $ 1 \le n_k \le 500 $
- $ 1 \le m_k \le 2^{31} - 1 $
- $ 1 \le 2s_{k,i} \le m_k $ for all $ i \in \{1, \dots, n_k\} $
**Objective**
For each test case $ k $, determine the minimum number of $ m_k \times m_k $ tiles needed to cut out all required tiles of size $ 2s_{k,i} \times 2s_{k,i} $, where cuts are axis-aligned and no two tiles may overlap within a single big tile.
Assume each big tile can be partitioned into a grid of $ \left\lfloor \frac{m_k}{2s_{k,i}} \right\rfloor \times \left\lfloor \frac{m_k}{2s_{k,i}} \right\rfloor $ small tiles of size $ 2s_{k,i} \times 2s_{k,i} $, and tiles of different sizes may be packed together optimally within a big tile.
**Note**: The problem reduces to a 2D bin packing problem with squares of sizes $ 2s_{k,i} $, and the goal is to compute the minimum number of $ m_k \times m_k $ bins required.
**Output**
For each test case, output the minimum number of big tiles needed.