#include <bits/stdc++.h>
using namespace std;
vector<int> a[2];
int main() {
  int n, k, p, i, j, s1, s2, cnt1, cnt2;
  scanf("%d%d%d", &n, &k, &p);
  a[0].clear();
  a[1].clear();
  for (i = 0; i < n; i++) {
    int tmp;
    scanf("%d", &tmp);
    a[tmp % 2].push_back(tmp);
  }
  s1 = a[0].size();
  s2 = a[1].size();
  if (s2 >= k - p && (s2 - k + p) % 2 == 0 && (s2 - k + p) / 2 + s1 >= p) {
    puts("YES");
    cnt1 = cnt2 = 0;
    i = j = 0;
    while (cnt1 + cnt2 < k - 1) {
      if (cnt1 < k - p) {
        printf("1 %d\n", a[1][j++]);
        ++cnt1;
      } else {
        if (j < s2) {
          printf("2 %d %d\n", a[1][j], a[1][j + 1]);
          j += 2;
        } else
          printf("1 %d\n", a[0][i++]);
        ++cnt2;
      }
    }
    printf("%d", s1 - i + s2 - j);
    while (i < s1) printf(" %d", a[0][i++]);
    while (j < s2) printf(" %d", a[1][j++]);
  } else
    puts("NO");
  return 0;
}
