#include <bits/stdc++.h>
using namespace std;
#define int long long
const int inf = 1e9;
void solve(){
    int n, k; cin >> n >> k;
    vector<int> a(n);
    int cnt = 0;
    for (int i = 0; i < n;i ++) {
        cin >> a[i];
        cnt += a[i];
    }
    
    // vector<int> dp(cnt + 1, -1);
    // for (int i = 1; i <= k; i++) {
    //     dp[i] = 1;
    // }
    auto rec = [&](auto&& rec, int x, int cur) -> int {
        if (x % 2 == 1 || x <= cur) return 1;
        int mn = 1;
        for (int i = 1; i <= cur; i++) {
            mn = min(mn, rec(rec, x - i, i)); 
        }
        return mn;
    };
    cout << rec(rec, cnt, k) << endl;
}
signed main(){
    cin.tie(0) -> sync_with_stdio(0);
    int t = 1;
    cin >> t;
    while (t--)solve();
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |