#include <bits/stdc++.h>   using namespace std;   int main() {     int n, k, p, x;     cin >> n >> k >> p;     int impair(k - p);     vector<int> pai, imp;     for (int i = 0; i < n; ++i) {       cin >> x;       if (x & 1)         imp.push_back(x);       else         pai.push_back(x);     }     int avpair(pai.size()), avimpair(imp.size());     avimpair -= impair;     if (avimpair < 0 || (avpair + (avimpair >> 1)) < p || (avimpair & 1)) {       cout <<  NO ;       return 0;     }     cout <<  YES n ;     vector<vector<int> > res;     res.resize(k);     int iimp(0), ipai(0);     for (int i = 0; i < impair; ++i) res[i].push_back(imp[iimp++]);     for (int i = impair; i < k; ++i)       if (ipai < pai.size())         res[i].push_back(pai[ipai++]);       else {         res[i].push_back(imp[iimp++]);         res[i].push_back(imp[iimp++]);       }     while (ipai < pai.size()) res[0].push_back(pai[ipai++]);     while (iimp < imp.size()) res[0].push_back(imp[iimp++]);     for (int i = 0; i < k; ++i) {       cout << res[i].size() <<    ;       for (int j = 0; j < res[i].size(); ++j) cout << res[i][j] <<    ;       cout <<   n ;     }     return 0;   }   