Картопля в підвалі
Обмеження: 2 сек., 256 МіБ
Зима вже близько. Запаси картоплі давно поскладані в підвалі. Повинно вистачити на всю зиму. План такий: Зеник носить картоплю з підвалу до кухні, Марічка готує їсти, а котик поважно сидить і за всім ділом уважно спостерігає. Сьогодні ми з вами будемо допомагати Зенику, адже йому дісталася найскладніша робота.
Якщо подивитися на підвал зверху, то він має вигляд прямокутника висотою hh клітинок і шириною ww клітинок. У кожній клітинці підвалу стоять ящики з картоплею — кубики розміром 1×1×11×1×1, поскладані один на одного. У jj-ій клітинці ii-ого рядка є aijaij ящиків, поскладаних один на одного. За один раз Зеник може забрати з підвалу рівно один ящик. Зрозуміло, що це повинен бути один із ящиків який є зверху, тобто на якому нічого не стоїть.
Для того щоб котик був задоволений роботою Зеника, склад картоплі в підвалі завжди повинен бути красивим. Склад картоплі в підвалі називається красивим, якщо кількість ящиків у кожній клітинці підвалу не перевищує кількість ящиків у клітинці зліва й зверху від неї. Іншими словами, кількості ящиків повинні утворювати незростаючу послідовність в кожному рядку й кожному стовпці підвалу.
Зеник дуже добре вміє носити ящики з картоплею. Ваше завдання — допомогти йому не засмутити котика.
Необхідно сказати, у якому порядку Зеник може забирати ящики з підвалу, щоб склад картоплі весь час залишався красивим. Зауважимо, що зима планується довга, тому Зенику доведеться забрати всі ящики зі складу.
Вхідні дані
У першому рядку містяться два цілі числа hh і ww — висота й ширина підвалу.
У наступних hh рядках задано по ww цілих чисел aijaij — початкові кількості ящиків в кожній клітинці.
Вихідні дані
У першому рядку виведіть ціле число cc — кількість ящиків із картоплею, які є в підвалі.
У наступних cc рядках виведіть трійки чисел xx, yy, zz — порядок, у якому Зеник повинен забирати ящики. xx, yy, zz означає, що наступним треба забрати ящик на перетині рядка xx і стовпця yy, який є zz-им по порядку в цій клітинці. Рядки і стовпці нумеруються з 1, ящики в одній клітинці нумеруються з 1 починаючи з нижнього.
Якщо існує декілька можливих послідовностей ящиків, виведіть будь-яку з них.
Обмеження
1≤h,w≤1001≤h,w≤100,
0≤aij≤1000≤aij≤100,
гарантується, що початково склад є красивим.
Приклади
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
2 3 2 1 1 1 0 0 | 5 1 1 2 1 3 1 2 1 1 1 2 1 1 1 1 |