E. Общежитие
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
input.txt
вывод
output.txt

Студент Вася приехал учиться в Берляндский государственный университет из деревни, поэтому живет в общежитии. Семестр длится n дней, и в каждый из этих дней родители присылают ему еды. Утром i-го дня ему приходит ai килограмм еды, которую можно есть как в текущий, так и на следующий день (затем еда портится и становится непригодной к употреблению).

Каждый день Вася съедает v килограмм еды. Известно, что родители Васи не допустят, чтобы он голодал, поэтому еды Васе хватает всегда. У Васи есть m друзей, которые иногда у него живут. Пусть друзья пронумерованы числами от 1 до m. Друг с номером j живет у Васи со дня номер lj по день номер rj включительно. Также j-му другу в день необходимо съесть fj килограмм еды. Обычно друзья Васи питаются в столовой, но иногда щедрый Вася кормит некоторых из них. Каждый день Вася может покормить каких-то друзей, которые живут у него в этот день (а может и не кормить никого).

Каждый раз, когда Вася угощает друга, он дает ему ровно столько еды, сколько необходимо другу в день, и Васин рейтинг популярности в университете повышается на единицу. Вася не может угощать одного и того же друга несколько раз в течение одного дня. Кроме того, он прекрасно знает, что режим питания нарушать нельзя, и поэтому он обязательно должен съедать в день v килограмм еды.

Вася хочет таким образом выбирать, кого он будет кормить в каждый из дней в семестре, чтобы его рейтинг стал как можно больше. Изначально рейтинг Васи равен 0, потому что он первокурсник.

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

В первой строке записаны два целых числа n и v (1 ≤ n, v ≤ 400). Во второй строке записано n целых чисел a1, a2, ..., an (1 ≤ ai ≤ 400), разделенных одиночными пробелами. Значение ai обозначает, что в утро i-го дня приходит ai килограмм еды, которую можно есть в день i и/или в день i + 1 (затем эта еда портится). Гарантируется, что если Вася не будет никого угощать, то существует способ так питаться, что каждый день он будет съедать v килограмм еды.

В третьей строке записано целое число m (1 ≤ m ≤ 400). Каждая из следующих m строк описывает одного друга Васи: j-я из этих строк содержит три целых числа lj, rj, fj (1 ≤ lj ≤ rj ≤ n, 1 ≤ fj ≤ 400), разделенные одиночными пробелами.

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

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

Примеры
Входные данные
4 1
3 2 5 4
3
1 3 2
1 4 1
3 4 2
Выходные данные
7
1 2
1 2
3 2 1 3
2 2 3