#include <bits/stdc++.h>
using namespace std;
inline int read(void) {
  register int x = 0, c = getchar();
  while (!isdigit(c)) c = getchar();
  while (isdigit(c)) x = (x << 3) + (x << 1) + (c ^ 48), c = getchar();
  return x;
}
int main(void) {
  int T = read();
  while (T--) {
    int n = read(), x = read(), q, odd = 0, even = 0;
    for (register int i = 1; i <= n; ++i) {
      q = read();
      if (q & 1)
        ++odd;
      else
        ++even;
    }
    if (odd == 0)
      puts("No");
    else {
      --odd;
      --x;
      if (even >= x)
        puts("Yes");
      else {
        int fir = even;
        int sec = odd >> 1;
        if (x % 2 == 0) {
          int cnt = fir + sec * 2;
          if (cnt >= x)
            puts("Yes");
          else
            puts("No");
        } else {
          if (even == 0)
            puts("No");
          else {
            int cnt = sec * 2;
            if (cnt >= x)
              puts("Yes");
            else {
              x -= cnt;
              if (even >= x)
                puts("Yes");
              else
                puts("No");
            }
          }
        }
      }
    }
  }
  return 0;
}
