#include <bits/stdc++.h>
#define yo_con_marcelita
#define F first
#define S second
#define pb push_back
#define eb emplace_back
#define ln cout<<endl;
#define sz(x) int((x).size())
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define read(x) for(auto &el : x) cin >> el;
#define For(i,s,n) for(int i=s; i < int(n); ++i)
#define dFor(i,f,n) for (int i = n - 1; i >= f; --i)
#define DBG(x) cout << #x << " = " << x << endl;
#define print(x) for(auto &el : x) {cout << el << " ";} cout<<endl;
#define lw(c, x) int(lower_bound((c).begin(), (c).end(), (x)) - (c).begin())
#define up(c, x) int(upper_bound((c).begin(), (c).end(), (x)) - (c).begin())
#define sino(b) cout<<(b ? "YES\n":"NO\n");
#define syso(x) cout<< (x) <<endl;
#define kill(x) {cout<< (x) <<endl; return;}
using namespace std;
typedef long long ll;
typedef long double ld;
typedef vector<int> vi;
typedef vector<ll> vll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
ll gcd(ll a, ll b){while(b){a%=b; swap(a,b);} return a;} ll lcm(ll a,ll b){return a*b/gcd(a,b);}
int lg2(const int &x) { return 31-__builtin_clz(x);} // int lg2(const ll &x) {return 63-__builtin_clzll(x);}
// Para leer e imprimir .txt
// freopen("input.txt", "r", stdin);
// freopen("output.txt", "w", stdout);
struct iterativetree {
int n;
ll neutro = 0ll; //valor neutro, no afecta las operaciones
vector<ll> t;
iterativetree(vector<int> &v) {
n = v.size();
t.assign(2*n, neutro);
for (int i = 0; i < n; i++) t[i+n] = v[i];
// for (int i = n - 1; i > 0; --i) t[i] = t[i<<1] + t[i<<1|1];
}
// RANGE UPDATES & SINGLE QUERY
ll query(int p) { // retorna el valor en la posicion p
ll res = 0;
for (p += n; p > 0; p >>= 1) res += t[p];
return res;
}
void upd(int l, int r, ll value) { // [l, r]
for (l += n, r += n+1; l < r; l >>= 1, r >>= 1) {
if (l&1) t[l++] += value;
if (r&1) t[--r] += value;
}
}
};
void solve() {
int n, k; cin >> n >> k;
vi a(n); read(a)
iterativetree t(a);
ll ans = 0;
for (int i=n-1;i>=0;i--) {
ll v = t.query(i);
if (!v) continue;
ans += v;
if (i) t.upd(max(0,i-k),i-1,v);
}
// syso(ans)
cout << (ans&1ll ? "Alice" : "Bob") << endl;
}
int main(){
yo_con_marcelita
int t = 1;
cin >> t;
while (t--) {
solve();
}
return 0;
}
//VisualSaquenASebastianDelEquipoPorFavorCode
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgeW9fY29uX21hcmNlbGl0YQojZGVmaW5lIEYgZmlyc3QKI2RlZmluZSBTIHNlY29uZAojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIGViIGVtcGxhY2VfYmFjawojZGVmaW5lIGxuIGNvdXQ8PGVuZGw7CiNkZWZpbmUgc3ooeCkgaW50KCh4KS5zaXplKCkpCiNkZWZpbmUgYWxsKHgpICh4KS5iZWdpbigpLCAoeCkuZW5kKCkKI2RlZmluZSByYWxsKHgpICh4KS5yYmVnaW4oKSwgKHgpLnJlbmQoKQojZGVmaW5lIHJlYWQoeCkgZm9yKGF1dG8gJmVsIDogeCkgY2luID4+IGVsOwojZGVmaW5lIEZvcihpLHMsbikgZm9yKGludCBpPXM7IGkgPCBpbnQobik7ICsraSkKI2RlZmluZSBkRm9yKGksZixuKSBmb3IgKGludCBpID0gbiAtIDE7IGkgPj0gZjsgLS1pKQojZGVmaW5lIERCRyh4KSBjb3V0IDw8ICN4IDw8ICIgPSAiIDw8IHggPDwgZW5kbDsKI2RlZmluZSBwcmludCh4KSBmb3IoYXV0byAmZWwgOiB4KSB7Y291dCA8PCBlbCA8PCAiICI7fSBjb3V0PDxlbmRsOwojZGVmaW5lIGx3KGMsIHgpIGludChsb3dlcl9ib3VuZCgoYykuYmVnaW4oKSwgKGMpLmVuZCgpLCAoeCkpIC0gKGMpLmJlZ2luKCkpCiNkZWZpbmUgdXAoYywgeCkgaW50KHVwcGVyX2JvdW5kKChjKS5iZWdpbigpLCAoYykuZW5kKCksICh4KSkgLSAoYykuYmVnaW4oKSkKI2RlZmluZSBzaW5vKGIpIGNvdXQ8PChiID8gIllFU1xuIjoiTk9cbiIpOwojZGVmaW5lIHN5c28oeCkgY291dDw8ICh4KSA8PGVuZGw7CiNkZWZpbmUga2lsbCh4KSB7Y291dDw8ICh4KSA8PGVuZGw7IHJldHVybjt9CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGxsOwp0eXBlZGVmIGxvbmcgZG91YmxlIGxkOwp0eXBlZGVmIHZlY3RvcjxpbnQ+IHZpOwp0eXBlZGVmIHZlY3RvcjxsbD4gdmxsOwp0eXBlZGVmIHBhaXI8aW50LGludD4gcGlpOwp0eXBlZGVmIHBhaXI8bGwsbGw+IHBsbDsKbGwgZ2NkKGxsIGEsIGxsIGIpe3doaWxlKGIpe2ElPWI7IHN3YXAoYSxiKTt9IHJldHVybiBhO30gbGwgbGNtKGxsIGEsbGwgYil7cmV0dXJuIGEqYi9nY2QoYSxiKTt9CmludCBsZzIoY29uc3QgaW50ICZ4KSB7IHJldHVybiAzMS1fX2J1aWx0aW5fY2x6KHgpO30gLy8gaW50IGxnMihjb25zdCBsbCAmeCkge3JldHVybiA2My1fX2J1aWx0aW5fY2x6bGwoeCk7fQovLyBQYXJhIGxlZXIgZSBpbXByaW1pciAudHh0Ci8vIGZyZW9wZW4oImlucHV0LnR4dCIsICJyIiwgc3RkaW4pOwovLyBmcmVvcGVuKCJvdXRwdXQudHh0IiwgInciLCBzdGRvdXQpOwoKc3RydWN0IGl0ZXJhdGl2ZXRyZWUgewogICAgaW50IG47CiAgICBsbCBuZXV0cm8gPSAwbGw7IC8vdmFsb3IgbmV1dHJvLCBubyBhZmVjdGEgbGFzIG9wZXJhY2lvbmVzCiAgICB2ZWN0b3I8bGw+IHQ7CgogICAgaXRlcmF0aXZldHJlZSh2ZWN0b3I8aW50PiAmdikgewogICAgICAgIG4gPSB2LnNpemUoKTsKICAgICAgICB0LmFzc2lnbigyKm4sIG5ldXRybyk7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHRbaStuXSA9IHZbaV07CiAgICAgICAgLy8gZm9yIChpbnQgaSA9IG4gLSAxOyBpID4gMDsgLS1pKSB0W2ldID0gdFtpPDwxXSArIHRbaTw8MXwxXTsKICAgIH0KCiAgICAvLyBSQU5HRSBVUERBVEVTICYgU0lOR0xFIFFVRVJZCiAgICBsbCBxdWVyeShpbnQgcCkgeyAvLyByZXRvcm5hIGVsIHZhbG9yIGVuIGxhIHBvc2ljaW9uIHAKICAgICAgICBsbCByZXMgPSAwOwogICAgICAgIGZvciAocCArPSBuOyBwID4gMDsgcCA+Pj0gMSkgcmVzICs9IHRbcF07CiAgICAgICAgcmV0dXJuIHJlczsKICAgIH0KCiAgICB2b2lkIHVwZChpbnQgbCwgaW50IHIsIGxsIHZhbHVlKSB7ICAvLyBbbCwgcl0KICAgICAgICBmb3IgKGwgKz0gbiwgciArPSBuKzE7IGwgPCByOyBsID4+PSAxLCByID4+PSAxKSB7CiAgICAgICAgICAgIGlmIChsJjEpIHRbbCsrXSArPSB2YWx1ZTsKICAgICAgICAgICAgaWYgKHImMSkgdFstLXJdICs9IHZhbHVlOwogICAgICAgIH0KICAgIH0KfTsKCgp2b2lkIHNvbHZlKCkgewogICAgaW50IG4sIGs7IGNpbiA+PiBuID4+IGs7CiAgICB2aSBhKG4pOyByZWFkKGEpCiAgICBpdGVyYXRpdmV0cmVlIHQoYSk7CiAgICBsbCBhbnMgPSAwOwogICAgZm9yIChpbnQgaT1uLTE7aT49MDtpLS0pIHsKICAgICAgICBsbCB2ID0gdC5xdWVyeShpKTsKICAgICAgICBpZiAoIXYpIGNvbnRpbnVlOwogICAgICAgIGFucyArPSB2OwogICAgICAgIGlmIChpKSB0LnVwZChtYXgoMCxpLWspLGktMSx2KTsKICAgIH0KICAgIC8vIHN5c28oYW5zKQogICAgY291dCA8PCAoYW5zJjFsbCA/ICJBbGljZSIgOiAiQm9iIikgPDwgZW5kbDsKfQoKaW50IG1haW4oKXsKICAgIHlvX2Nvbl9tYXJjZWxpdGEKICAgIGludCB0ID0gMTsKICAgIGNpbiA+PiB0OwogICAgd2hpbGUgKHQtLSkgewogICAgICAgIHNvbHZlKCk7CiAgICB9CiAgICByZXR1cm4gMDsKfQovL1Zpc3VhbFNhcXVlbkFTZWJhc3RpYW5EZWxFcXVpcG9Qb3JGYXZvckNvZGU=