#include <bits/stdc++.h>
using namespace std;
int x, n, k, p;
int even, odd, imp, pa;
vector<int> par, impar;
vector<int> ans[100005];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cin >> n >> k >> p;
  for (int i = (int)(0); i < (int)(n); i++) {
    cin >> x;
    (x % 2) ? impar.push_back(x) : par.push_back(x);
  }
  odd = k - p;
  even = p;
  if (odd > impar.size() || (impar.size() - odd) % 2 == 1 ||
      (impar.size() - odd) / 2 + par.size() < even) {
    cout << "NO" << endl;
  } else {
    cout << "YES" << endl;
    imp = 0;
    for (int i = (int)(0); i < (int)(odd); i++) {
      ans[i].push_back(impar[imp]);
      imp++;
    }
    pa = 0;
    for (int i = (int)(odd); i < (int)(k); i++) {
      if (pa < (par).size()) {
        ans[i].push_back(par[pa]);
        pa++;
      } else {
        ans[i].push_back(impar[imp++]);
        ans[i].push_back(impar[imp++]);
      }
    }
    while (imp < (impar).size()) ans[0].push_back(impar[imp]), imp++;
    while (pa < (par).size()) ans[0].push_back(par[pa]), pa++;
    for (int i = (int)(0); i < (int)(k); i++) {
      cout << ans[i].size();
      for (int j = (int)(0); j < (int)(ans[i].size()); j++)
        cout << " " << ans[i][j];
      cout << endl;
    }
  }
  return 0;
}
