#include <bits/stdc++.h>
using namespace std;
const int cmax = 1e5 + 8;
int a;
int n, k, p;
vector<int> even, odd;
vector<vector<int> > ans(cmax);
int main() {
  ios_base::sync_with_stdio(0);
  cin >> n >> k >> p;
  int e = 0, o = 0;
  for (int i = 0; i < n; i++) {
    cin >> a;
    if (a % 2 == 0)
      even.push_back(a), e++;
    else
      odd.push_back(a), o++;
  }
  int rem = o - (k - p);
  if (o < k - p or k > n or rem % 2 == 1 or rem / 2 + e < p) {
    cout << "NO\n";
    return 0;
  }
  int c1 = 0, c2 = 0;
  for (int i = 0; i < k - p; i++) ans[i].push_back(odd[c2++]);
  for (int i = k - p; i < k; i++) {
    if (c1 < e)
      ans[i].push_back(even[c1++]);
    else {
      ans[i].push_back(odd[c2++]);
      ans[i].push_back(odd[c2++]);
    }
  }
  while (c1 < e) ans[k - 1].push_back(even[c1++]);
  while (c2 < o) ans[k - 1].push_back(odd[c2++]);
  cout << "YES\n";
  for (int i = 0; i < k; i++) {
    cout << ans[i].size() << ' ';
    for (int j = 0; j < ans[i].size(); j++) cout << ans[i][j] << ' ';
    cout << '\n';
  }
  return 0;
}
