#include <bits/stdc++.h>
using namespace std;
int main() {
  std::ios_base::sync_with_stdio(false);
  int n, k, p, odd = 0;
  cin >> n >> k >> p;
  vector<int> a(n);
  for (int i = 0; i < int(n); i++) {
    cin >> a[i];
    odd += a[i] % 2;
  }
  if (odd < k - p || (odd - k + p) % 2 || (odd - k + p) / 2 + (n - odd) < p) {
    cout << "NO\n";
    return 0;
  }
  vector<vector<int> > ans(k);
  int first = k - p, second = p;
  for (int i = 0; i < int(n); i++) {
    if (a[i] & 1) {
      if (first > 0) {
        first--;
        ans[p + first].push_back(a[i]);
      } else if (second > 0) {
        ans[second - 1].push_back(a[i]);
        if (int((ans[second - 1]).size()) == 2) {
          second--;
        }
      } else {
        ans[0].push_back(a[i]);
      }
    }
  }
  for (int i = 0; i < int(n); i++) {
    if ((a[i] & 1) == 0) {
      if (second > 0) {
        second--;
      }
      ans[second].push_back(a[i]);
    }
  }
  cout << "YES\n";
  for (int i = 0; i < int(k); i++) {
    cout << int((ans[i]).size());
    for (auto a : (ans[i])) {
      cout << " " << a;
    }
    cout << "\n";
  }
  return 0;
}
