We first make the array elements zero by choosing last index(n) and modding with 1.
Then add the prime number(P)>=n*2+1 by choosing the last index(n).Therefore all the elements of array will become prime number P.
Then Starting from initial index(1) to n-1 mod with a[i]-i which will bring us 0 ,1 ,2 ,3 ,4 -------prime number(P).
We are choosing prime number >=n*2+1 because while modding with a[i]-i, a[i]-i should always be greater all the numbers we now have in the array. Therefore for simplicity we've taken a number >=n*2+1.
Link for problem --------------------: https://mirror.codeforces.com/problemset/problem/1088/C
Solution
prime = [] def SieveOfEratosthenes(): n = 6000 global prime prime = [True for q in range(n + 1)] p = 2 while (p * p <= n): if (prime[p] == True): for i in range(p * p, n + 1, p): prime[i] = False p += 1 SieveOfEratosthenes() I = input n=int(I()) a=list(map(int,I().split())) p=0 i=n*2+1 while True: if prime[i]==True: p=i break i+=1 ans=['2 '+str(n)+' 1','1 '+str(n)+' '+str(p)] for i in range(n-1): ans.append('2 '+str(i+1)+' '+str(p-i)) print(n+1) for i in ans: print(i)