write a go solution for Description: You have an array of positive integers a_1,a_2,ldots,a_n, of length n. You are also given a positive integer b. You are allowed to perform the following operations (possibly several) times in any order: 1. Choose some 1<=i<=n, and replace a_i with ceil(a_i/2). Here, ceil(x) denotes the smallest integer not less than x. 2. Choose some 1<=i<=n, and replace a_i with max(a_i-b,0). However, you must also follow these rules: - You can perform at most k_1 operations of type 1 in total. - You can perform at most k_2 operations of type 2 in total. - For all 1<=i<=n, you can perform at most 1 operation of type 1 on element a_i. - For all 1<=i<=n, you can perform at most 1 operation of type 2 on element a_i. The cost of an array is the sum of its elements. Find the minimum cost of a you can achieve by performing these operations. Input Format: Input consists of multiple test cases. The first line contains a single integer t, the number of test cases (1<=t<=5000). The first line of each test case contains n, b, k_1, and k_2 (1<=n<=5000, 1<=b<=10^9, 0<=k_1,k_2<=n). The second line of each test case contains n integers a_1,a_2,ldots,a_n describing the array a (1<=a_i<=10^9). It is guaranteed the sum of n over all test cases does not exceed 5000. Output Format: For each test case, print the minimum cost of a you can achieve by performing the operations. Note: In the first test case, you can do the following: - Perform operation 2 on element a_3. It changes from 5 to 3. - Perform operation 1 on element a_1. It changes from 9 to 5. After these operations, the array is a=[5,3,3] has a cost 5+3+3=11. We can show that this is the minimum achievable cost. In the second test case, note that we are not allowed to perform operation 1 more than once on a_1. So it is optimal to apply operation 1 once to each a_1 and a_2. Alternatively we could apply operation 1 only once to a_1, since it has no effect on a_2. In the third test case, here is one way to achieve a cost of 23: - Apply operation 1 to a_4. It changes from 19 to 10. - Apply operation 2 to a_4. It changes from 10 to 7. After these operations, a=[2,8,3,7,3]. The cost of a is 2+8+3+7+3=23. We can show that this is the minimum achievable cost.. Output only the code with no comments, explanation, or additional text.