Codeforces Round 525 (Div. 2)
C
Ehab and a 2-operation task
Codeforces
1400
原题
← BD →
翻译中…

You're given an array $a$ of length $n$. You can perform the following operations on it:

翻译中…
  • choose an index $i$ $(1 \le i \le n)$, an integer $x$ $(0 \le x \le 10^6)$, and replace $a_j$ with $a_j+x$ for all $(1 \le j \le i)$, which means add $x$ to all the elements in the prefix ending at $i$.
  • choose an index $i$ $(1 \le i \le n)$, an integer $x$ $(1 \le x \le 10^6)$, and replace $a_j$ with $a_j \% x$ for all $(1 \le j \le i)$, which means replace every element in the prefix ending at $i$ with the remainder after dividing it by $x$.
翻译中…

Can you make the array strictly increasing in no more than $n+1$ operations?

翻译中…

Input

翻译中…

The first line contains an integer $n$ $(1 \le n \le 2000)$, the number of elements in the array $a$.

翻译中…

The second line contains $n$ space-separated integers $a_1$, $a_2$, $\dots$, $a_n$ $(0 \le a_i \le 10^5)$, the elements of the array $a$.

翻译中…

Output

翻译中…

On the first line, print the number of operations you wish to perform. On the next lines, you should print the operations.

翻译中…

To print an adding operation, use the format "$1$ $i$ $x$"; to print a modding operation, use the format "$2$ $i$ $x$". If $i$ or $x$ don't satisfy the limitations above, or you use more than $n+1$ operations, you'll get wrong answer verdict.

翻译中…

Note

翻译中…

In the first sample, the array is already increasing so we don't need any operations.

翻译中…

In the second sample:

翻译中…

In the first step: the array becomes $[8,6,3]$.

翻译中…

In the second step: the array becomes $[0,2,3]$.

翻译中…

样例

Input #1
3
1 2 3
Output #1
0
InputCopy OutputCopy
Input #2
3
7 6 3
Output #2
2
1 1 1
2 2 4
InputCopy OutputCopy
题目信息
题号
1088C
时间限制
1 s
内存限制
256 MB
标签
构造
贪心
数学

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。