C. Деву и разбиение массива
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
stdin
вывод
stdout

Деву еще маленький, поэтому он очень любит играть. Весьма удивительно, но играть он предпочитает только с массивами. Однажды во время игры ему в голову пришел интересный вопрос, который Деву сам для себя разрешить не мог. Сможете ли вы найти ответ на этот вопрос?

Дан массив, состоящий из различных целых чисел. Возможно ли так разбить весь массив на k непересекающихся непустых частей, чтобы ровно p частей имели четную сумму элементов (каждая из этих p частей должна иметь четную сумму), а оставшиеся k - p частей имели нечетную сумму элементов? (обратите внимание, что элементы какой-то части не обязаны идти в массиве подряд).

Если существует способ разбить массив описанным образом, требуется вывести также и само разбиение.

Входные данные

В первой строке записано три целых числа через пробел n, k, p (1 ≤ k ≤ n ≤ 105; 0 ≤ p ≤ k). В следующей строке записано n различных целых чисел через пробел, представляющих содержимое массива a: a1, a2, ..., an (1 ≤ ai ≤ 109).

Выходные данные

В первой строке выведите «YES» (без кавычек), если можно разбить массив требуемым способом. В противном случае выведите «NO» (без кавычек).

Если требуемое разбиение существует, выведите k строк вслед за первой. В i-й из них должно быть записано содержимое i-й части. Выводите содержимое части в строке следующим образом: сперва выведите количество элементов в этой части, затем выведите все элементы части в произвольном порядке. Сумма элементов у ровно p из всех выведенных частей должна быть четной. В каждой из оставшихся k - p частей сумма должна быть нечетная.

Так как может быть несколько способов разбиения, разрешается вывести любое корректное разбиение.

Примеры
Входные данные
5 5 3
2 6 10 5 9
Выходные данные
YES
1 9
1 5
1 10
1 6
1 2
Входные данные
5 5 3
7 14 2 9 5
Выходные данные
NO
Входные данные
5 3 1
1 2 3 7 5
Выходные данные
YES
3 5 1 3
1 7
1 2