Постановочное фото

아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

Перед общим фотографированием участников всероссийской олимпиады школьников по информатике главный фотограф решил сделать постановочное фото для своих подписчиков в социальной сети Innogram. 

В олимпиаде принимают участие школьники из nn регионов, каждая делегация состоит из mm школьников. Делегация каждого региона хочет подчеркнуть свою индивидуальность, поэтому надела фирменные футболки своего цвета, который не совпадает с цветом футболок никакого другого региона. Обозначим цвет футболки, который надели школьники ii-го региона, числом ii.

Для организации постановочного фото фотограф планирует действовать следующим образом. На сцене в ряд расположены места, куда могут вставать школьники, они пронумерованы вдоль сцены от 11 до mm. Фотограф планирует по очереди обратиться к руководителям некоторых делегаций с просьбой нескольким школьникам этой делегации выйти на сцену. При этом он указывает два числа: LL и RR. Школьники выбранной делегации выходят на сцену и занимают все места от LL-го до RR-го, включительно. Если на каких-либо из этих мест уже стоят школьники других делегаций, то они уходят со сцены, а их места занимают школьники новой делегации. Фотограф может обратиться к руководителю каждой делегации не более одного раза.

Для цветовой гармонии на получившемся снимке фотограф хочет, чтобы на фотографии стояли mm школьников, причём цвета надетых на них футболок должны следовать в строго определенном порядке. Теперь он хочет понять, каким образом он может получить желаемую фотографию.

Требуется написать программу, которая по заданному порядку цветов футболок на фотографии определяет, в каком порядке следует попросить руководителей делегаций отправить школьников на сцену, и какие места им следует занять, чтобы сделать желаемое фото, либо выясняет, что это невозможно.

입력

Первая строка входных данных содержит два целых числа: mm и nn (1m31051 \le m \le 3 \cdot 10^5, 1n31051 \le n \le 3 \cdot 10^5). Вторая строка содержит mm целых чисел a_1,a_2,,a_ma\_1, a\_2, \ldots, a\_m (1a_in1 \le a\_i \le n) --- цвета футболок в том порядке, в котором фотограф хочет получить их на фотографии.

출력

Первая строка выходных данных должна содержать одно целое число kk. Если сделать желаемое фото невозможно, это число должно быть равно 1-1. В противном случае оно должно быть равно количеству делегаций, к руководителям которых фотограф должен обратиться, чтобы сделать желаемое фото. 

В этом случае следующие kk строк должны описывать просьбы фотографа в том порядке, в котором их следует сделать. Его ii-я просьба задается тремя целыми числами: c_ic\_i, L_iL\_i и R_iR\_i, где c_ic\_i -- номер делегации, к которой следует обратиться, L_iL\_i и R_iR\_i --- номера первого и последнего места на сцене, соответственно, которые необходимо занять школьникам делегации c_ic\_i (1c_in1 \le c\_i \le n, все c_ic\_i должны быть различны, 1L_iR_im1 \le L\_i \le R\_i \le m).

Если существует несколько решений, выведите любое из них.