#include <bits/stdc++.h>
time_t waktu = clock();
void gettime() {
  printf("\nTime : %.2lf", (clock() - waktu) / double(CLOCKS_PER_SEC));
}
bool comp(int a, int b) { return (a > b); }
using namespace std;
int main() {
  int n, k, ge, x, y, ga, i, j;
  vector<int> ganjil, genap;
  scanf("%d %d %d", &n, &k, &ge);
  for (i = 0; i < n; i++) {
    scanf("%d", &x);
    if (x % 2 == 1)
      ganjil.push_back(x);
    else
      genap.push_back(x);
  }
  x = ganjil.size();
  y = genap.size();
  ga = k - ge;
  if (ga <= x && (x - ga) % 2 == 0 && ge <= (x - ga) / 2 + y) {
    printf("YES\n");
    if (ga == 0) {
      for (i = 0; i < min(ge - 1, y); i++) {
        printf("1 %d\n", genap[i]);
      }
      if (ge <= y) {
        printf("%d", y - ge + 1 + x - ga);
        for (i = ge - 1; i < y; i++) {
          printf(" %d", genap[i]);
        }
        for (i = ga; i < x; i++) {
          printf(" %d", ganjil[i]);
        }
      } else {
        for (i = min(ge - 1, y), j = ga; i < ge - 1; i++, j += 2) {
          printf("2 %d %d\n", ganjil[j], ganjil[j + 1]);
        }
        printf("%d", x - j);
        for (i = j; j < x; j++) {
          printf(" %d", ganjil[j]);
        }
      }
    } else if (ge == 0) {
      for (i = 0; i < ga - 1; i++) {
        printf("1 %d\n", ganjil[i]);
      }
      printf("%d", x - ga + 1 + y);
      for (i = ga - 1; i < x; i++) {
        printf(" %d", ganjil[i]);
      }
      for (i = 0; i < y; i++) {
        printf(" %d", genap[i]);
      }
    } else {
      for (i = 0; i < ga; i++) {
        printf("1 %d\n", ganjil[i]);
      }
      for (i = 0; i < min(ge - 1, y); i++) {
        printf("1 %d\n", genap[i]);
      }
      if (ge <= y) {
        printf("%d", y - ge + 1 + x - ga);
        for (i = ge - 1; i < y; i++) {
          printf(" %d", genap[i]);
        }
        for (i = ga; i < x; i++) {
          printf(" %d", ganjil[i]);
        }
      } else {
        for (i = min(ge - 1, y), j = ga; i < ge - 1; i++, j += 2) {
          printf("2 %d %d\n", ganjil[j], ganjil[j + 1]);
        }
        printf("%d", x - j);
        for (i = j; j < x; j++) {
          printf(" %d", ganjil[j]);
        }
      }
    }
  } else
    printf("NO");
  return 0;
}
