CF BUDDY
← Problems·

1396A · Multiples of Length

1600 · constructive algorithms, greedy, number theory

Problem: You are given an array aa of nn integers.

You want to make all elements of aa equal to zero by doing the following operation exactly three times:

  • Select a segment, for each number in this segment we can add a multiple of lenlen to it, where lenlen is the length of this segment (added integers can be different).

It can be proven that it is always possible to make all elements of aa equal to zero.

Input Format: The first line contains one integer nn (1n1000001 \le n \le 100\,000): the number of elements of the array.

The second line contains nn elements of an array aa separated by spaces: a1,a2,,ana_1, a_2, \dots, a_n (109ai109-10^9 \le a_i \le 10^9).

Output Format: The output should contain six lines representing three operations.

For each operation, print two lines:

  • The first line contains two integers ll, rr (1lrn1 \le l \le r \le n): the bounds of the selected segment.
  • The second line contains rl+1r-l+1 integers bl,bl+1,,brb_l, b_{l+1}, \dots, b_r (1018bi1018-10^{18} \le b_i \le 10^{18}): the numbers to add to al,al+1,,ara_l, a_{l+1}, \ldots, a_r, respectively; bib_i should be divisible by rl+1r - l + 1.

Sample Cases

Case 1

Input

4
1 3 2 4

Output

1 1 
-1
3 4
4 2
2 4
-3 -6 -6

Similar problems

00:00:00
Loading editor…
Welcome! I'm your coding tutor for this problem. Use the chips below to reveal stored hints or get AI feedback on your code. I'll guide you step by step — never giving away the solution.

Sign in to unlock AI tutor feedback