Парк атракціонів
У місті нещодавно побудували парк атракціонів, у якому є павільон ігрових автоматів. Кожен з автоматів розраховано на одну людину. У програмі Всеросійської олімпіади планується відвідати цей павільон.
Перед організаторами виникла складна задача — скласти розклад гри учасників олімпіаді на автоматах таким чином, щоб кожен з N учасників олімпіади зміг пограти на кожному з автоматів, і при цьому автобус, який возить учасників з парку олімпіади, зміг би відправитись на місце проживання якомога раніше.
Час переміщення учасників між автоматами, а також між автобусом і павільоном вважається рівним нулю. Кожен з учасників у довільний момент часу може як грати на автоматі, так і чекати своєї черги, наприклад, прогулюючись по парку. Для кожного з M (M ≤ N) автоматів відомо час гри на ньому t_i (1 ≤ i ≤ M). Перервати почату гру на автоматі неможливо. Автобус привозить усіх учасників олімпіади у парк одночасно у нульовий момент часу.
Потрібно написати програму, яка за заданими числами N, M та t_i визначає оптимальний розклад гри на автоматах для кожного з учасників.
Вхідні дані
У першому рядку вхідного файлу міститься два числа: N та M (1 ≤ M ≤ N ≤ 100). У другому рядкуе задано M цілих чисел t_i (1 ≤ t_i ≤ 100), кожне з яких задає час гри на i-му автоматі (1 ≤ i ≤ M). Числа у рядку відокремлено одиночними пропусками.
Вихідні дані
У першому рядку необхідно вивести одне число — мінімально можливий час відправки автобусу з парку атракціонів. Далі необхідно вивести N ррозкладів ігор на автоматах, по одному для кожного з учасників. Кожен розклад описується в (M + 1) рядках, перший з який — порожній, а далі йде M рядків, які описують автомати у порядку їх відвідування цим учасником. Відвідування автомату описується двома цілими числами: номером автомату j (1 ≤ j ≤ M) та часом початку гри учасника на цьому автоматі.