#include <bits/stdc++.h>
using namespace std;
long long n, k, p, x, sum, sisa;
vector<long long> v, w, z[100005];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> n >> k >> p;
  for (int i = 1; i <= n; i++) {
    cin >> x;
    if (x % 2 == 0) {
      v.push_back(x);
    } else {
      w.push_back(x);
    }
  }
  sisa = w.size() - k + p;
  if (sisa % 2 || (sisa < 0)) {
    cout << "NO\n";
  } else if ((sisa / 2 + v.size() < p)) {
    cout << "NO\n";
  } else {
    cout << "YES\n";
    for (int i = p; i < k; i++) {
      z[i].push_back(w.back());
      w.pop_back();
    }
    for (int i = 0; i < v.size(); i++) {
      z[sum].push_back(v[i]);
      sum++;
      if (sum == p) {
        sum = 0;
      }
    }
    for (int i = sum; i < p; i++) {
      if (!w.size()) {
        break;
      }
      z[i].push_back(w.back());
      w.pop_back();
      z[i].push_back(w.back());
      w.pop_back();
    }
    for (int i = 0; i < w.size(); i++) {
      z[0].push_back(w[i]);
    }
    for (int i = 0; i < k; i++) {
      cout << z[i].size() << " ";
      for (int j = 0; j < z[i].size(); j++) {
        cout << z[i][j] << " ";
      }
      cout << '\n';
    }
  }
  return 0;
}
