#include <bits/stdc++.h>
using namespace std;
int even[100020], odd[100020];
int main() {
  int n, k, p, evennum = 0, oddnum = 0;
  int dig;
  scanf("%d%d%d", &n, &k, &p);
  for (int i = 0; i < n; i++) {
    scanf("%d", &dig);
    if (dig % 2 == 0)
      even[evennum++] = dig;
    else
      odd[oddnum++] = dig;
  }
  if (oddnum < k - p || (oddnum - (k - p)) % 2 != 0)
    printf("NO\n");
  else {
    if ((evennum + (oddnum - (k - p)) / 2) < p)
      printf("NO\n");
    else {
      int e = evennum, o = oddnum;
      printf("YES\n");
      int a;
      for (a = 0; a < k - p - 1; a++) {
        printf("1 %d\n", odd[a]);
        o--;
      }
      int j = a;
      for (int i = 0; i < p - 1; i++) {
        if (e > 0) {
          printf("1 %d\n", even[i]);
          e--;
        } else {
          printf("2 %d %d\n", odd[j++], odd[j++]);
          o -= 2;
        }
      }
      if (p != 0 && k - p != 0) {
        printf("1 %d\n", odd[j]);
        o--;
      }
      printf("%d ", o + e);
      for (int i = evennum - e; i < evennum; i++) printf("%d ", even[i]);
      for (int i = oddnum - o; i < oddnum; i++) printf("%d ", odd[i]);
      printf("\n");
    }
  }
  return 0;
}
