#include <bits/stdc++.h>
using namespace std;
const int N = 100010;
int n, k, p;
int odd[N], even[N], po, pe;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  cout.tie(nullptr);
  cin >> n >> k >> p;
  for (int i = 0; i < n; ++i) {
    int x;
    cin >> x;
    if (x & 1)
      odd[po++] = x;
    else
      even[pe++] = x;
  }
  int no = po, ne = pe;
  int more = no - (k - p);
  if (k > n || no < k - p || more & 1 || pe + more / 2 < p)
    cout << "NO" << endl;
  else {
    cout << "YES" << endl;
    int tot_odd = min(k - p, k - 1);
    for (int i = 0; i < tot_odd; ++i) cout << 1 << ' ' << odd[--po] << endl;
    int tot_even = min(p, k - 1 - tot_odd);
    int use_even = min(tot_even, pe);
    for (int i = 0; i < use_even; ++i) cout << 1 << ' ' << even[--pe] << endl;
    for (int i = use_even; i < tot_even; ++i)
      cout << 2 << ' ' << odd[--po] << ' ' << odd[--po] << endl;
    int t = po + pe;
    cout << t;
    while (po) cout << ' ' << odd[--po];
    while (pe) {
      cout << ' ' << even[--pe];
    }
    cout << endl;
  }
  return 0;
}
