#include <bits/stdc++.h>
using namespace ::std;
int main() {
  int n, k, p, temp;
  cin >> n >> k >> p;
  vector<int> evens;
  vector<int> odds;
  for (int i = 0; i < n; i++) {
    cin >> temp;
    if (temp % 2 == 0)
      evens.push_back(temp);
    else
      odds.push_back(temp);
  }
  int es = evens.size(), os = odds.size(), op = k - p;
  if (op > os || (os - op) % 2 != 0 || (p > es && (os - op) / 2 < (p - es))) {
    cout << "NO";
    return 0;
  }
  cout << "YES" << endl;
  int oi = 0, ei = 0;
  if (p != 0) {
    while (oi < op) {
      cout << 1 << " " << odds[oi++] << endl;
    }
  } else {
    while (oi < op - 1) {
      cout << 1 << " " << odds[oi++] << endl;
    }
    cout << os - oi + es << " ";
    while (oi < os) {
      cout << odds[oi++] << " ";
    }
    while (ei < es) {
      cout << evens[ei++] << " ";
    }
    cout << endl;
    return 0;
  }
  while (ei < es && ei < p - 1) {
    cout << 1 << " " << evens[ei++] << endl;
  }
  if (ei == es) {
    while (ei < p - 1) {
      cout << 2 << " " << odds[oi++] << " " << odds[oi++] << endl;
      ei++;
    }
    cout << os - oi << " ";
    while (oi < os) {
      cout << odds[oi++] << " ";
    }
    cout << endl;
  } else {
    cout << es - ei + os - oi << " ";
    while (oi < os) {
      cout << odds[oi++] << " ";
    }
    while (ei < es) {
      cout << evens[ei++] << " ";
    }
    cout << endl;
  }
  return 0;
}
