#include <bits/stdc++.h>
using namespace std;
int main() {
  int t, i, j, e = 0, o = 0, use[100005], a[100005], n, k, p, kk;
  cin >> n >> kk >> p;
  for (i = 0; i < n; i++) {
    cin >> a[i];
    if (a[i] % 2 == 0)
      e++;
    else
      o++;
  }
  if (o >= kk - p && (o - (kk - p)) % 2 == 0 && e >= p) {
    cout << "YES\n";
    j = 0;
    memset(use, 0, sizeof(use));
    if (p == kk) p--;
    for (i = 1; i <= p; i++) {
      cout << "1 ";
      while (1) {
        if (a[j] % 2 == 0) {
          cout << a[j] << endl;
          use[j] = 1;
          j++;
          break;
        } else
          j++;
      }
    }
    k = 0;
    for (i = 1; i < kk - p; i++) {
      cout << "1 ";
      while (1) {
        if (a[k] % 2 == 1) {
          cout << a[k] << endl;
          use[k] = 1;
          k++;
          break;
        } else
          k++;
      }
    }
    cout << n - (kk - 1) << " ";
    for (i = 0; i < n; i++)
      if (!use[i]) cout << a[i] << " ";
  } else if (o >= kk - p && (o - (kk - p)) % 2 == 0 && e < p &&
             o - (kk - p) >= 2 * (p - e)) {
    cout << "YES\n";
    j = 0;
    memset(use, 0, sizeof(use));
    k = 0;
    for (i = 1; i <= kk - p; i++) {
      cout << "1 ";
      while (1) {
        if (a[k] % 2 == 1) {
          cout << a[k] << endl;
          use[k] = 1;
          k++;
          break;
        } else
          k++;
      }
    }
    for (i = 1; i <= e; i++) {
      cout << "1 ";
      while (1) {
        if (a[j] % 2 == 0) {
          cout << a[j] << endl;
          use[j] = 1;
          j++;
          break;
        } else
          j++;
      }
    }
    for (i = 1; i < (p - e); i++) {
      cout << "2 ";
      while (1) {
        if (a[k] % 2 == 1) {
          cout << a[k] << " ";
          use[k] = 1;
          k++;
          break;
        } else
          k++;
      }
      while (1) {
        if (a[k] % 2 == 1) {
          cout << a[k] << endl;
          use[k] = 1;
          k++;
          break;
        } else
          k++;
      }
    }
    cout << o - (kk - p) - 2 * (p - e - 1) << " ";
    while (k < n) {
      if (a[k] % 2 == 1) {
        cout << a[k] << " ";
        use[k] = 1;
        k++;
      } else
        k++;
    }
  } else
    cout << "NO";
  return 0;
}
