#include <bits/stdc++.h>
using namespace std;
char buffer[2000020], *p1, *p2;
template <class T>
void read(T& x) {
  char ch = ((p1 == p2 &&
              (p2 = (p1 = buffer) + fread(buffer, 1, 2000020, stdin), p1 == p2))
                 ? EOF
                 : *p1++);
  x = 0;
  bool f = 1;
  while (!('0' <= ch && ch <= '9') && ch != '-')
    ch = ((p1 == p2 &&
           (p2 = (p1 = buffer) + fread(buffer, 1, 2000020, stdin), p1 == p2))
              ? EOF
              : *p1++);
  if (ch == '-')
    f = 0,
    ch = ((p1 == p2 &&
           (p2 = (p1 = buffer) + fread(buffer, 1, 2000020, stdin), p1 == p2))
              ? EOF
              : *p1++);
  while ('0' <= ch && ch <= '9')
    x = (x << 1) + (x << 3) + ch - '0',
    ch = ((p1 == p2 &&
           (p2 = (p1 = buffer) + fread(buffer, 1, 2000020, stdin), p1 == p2))
              ? EOF
              : *p1++);
  x = (f) ? x : -x;
}
int _num[20];
template <class T>
void write(T x) {
  if (!x) {
    putchar('0'), putchar('\n');
    return;
  }
  if (x < 0) putchar('-'), x = -x;
  int c = 0;
  while (x) _num[++c] = x % 10, x /= 10;
  while (c) putchar('0' + _num[c--]);
  putchar('\n');
}
int n;
long long int a[200020];
int main() {
  int n;
  scanf("%d", &n);
  for (register int i = 1; i <= n; i++) scanf("%lld", a + i);
  if (n == 1) {
    printf("1 1\n0\n1 1\n0\n1 1\n%d\n", -a[1]);
    return 0;
  }
  printf("%d %d\n", 1, n - 1);
  for (register int i = 1; i <= n - 1; i++) {
    int k = a[i] % n;
    if (k < 0) k += n;
    printf("%lld ", 1ll * k * (n - 1));
    a[i] += 1ll * k * (n - 1);
  }
  printf("\n");
  printf("%d %d\n", n, n);
  for (register int i = n; i <= n; i++) {
    int k = a[i] % n;
    if (k < 0) k += n;
    printf("%lld ", 1ll * k * (n - 1));
    a[i] += 1ll * k * (n - 1);
  }
  printf("\n");
  printf("%d %d\n", 1, n);
  for (register int i = 1; i <= n; i++) printf("%lld ", -a[i]);
  printf("\n");
  return 0;
}
