Масив і часткові суми
Масивом префіксних сум масиву цілих чисел довжини називається такий масив довжини , що .
Масивом суфіксних сум масиву цілих чисел довжини називається такий масив довжини , що .
Назвемо нормалізацією масиву цілих чисел довжини виконання операції присвоєння для .
Задано масив цілих чисел довжини .
Дозволяється виконувати операції трьох типів:
замінити кожен елемент масиву на протилежний (виконати операцію присвоєння для );
вибрати довільний підвідрізок масиву та замінити його на масив його префіксних сум, після чого нормалізувати масив ;
вибрати довільний підвідрізок масиву та замінити його на масив його суфіксних сум, після чого нормалізувати масив .
Знайдіть найкоротшу послідовність операцій, необхідних для того, щоб усі елементи масиву стали невід'ємними.
Зверніть увагу, що для деяких блоків тестів дозволяється знайти послідовність операцій, що не є найкоротшою з можливих.
Вхідні дані
У першому рядку задано два цілі числа , (, ) — довжина масиву та номер блоку тестів відповідно.
У другому рядку задано цілих чисел () — елементи масиву.
Вихідні дані
У першому рядку виведіть одне ціле число — мінімальну кількість операцій, необхідних для того, щоб усі елементи масиву стали невід'ємними.
У наступних рядках виведіть опис операцій. Описи операцій першого типу виводіть у форматі «1
». Описи операцій другого та третього типів виводіть у форматах «2 l r
» та «3 l r
» відповідно, де та () позначають ліву та праву межі підвідрізка чергової операції.
Якщо існує кілька правильних відповідей, дозволяється вивести будь-яку з них.
Приклади
Примітка
У першому прикладі масив змінюється двічі:
після виконання операції третього типу з параметрами , масив стає рівним ;
після виконання операції другого типу з параметрами , масив стає рівним .
Оцінювання
Нехай для певного тесту мінімальна кількість операцій, необхідних для того, щоб усі елементи масиву стали невід'ємними, рівна , а ваше рішення використовує операцій.
( балів): ;
( балів): ваш розв'язок вважатиметься правильним, якщо . Можна довести, що завжди існує послідовність не більше ніж з операцій при заданих обмеженнях;
( балів): ваш розв'язок вважатиметься правильним, якщо ;
( балів): ваш розв'язок вважатиметься правильним, якщо ;
( балів): ; гарантується, що усі найкоротші послідовності операцій містять лише операції другого типу;
( балів): гарантується, що усі найкоротші послідовності операцій містять лише операції другого типу;
( балів): ;
( бал): без додаткових обмежень.