#include <bits/stdc++.h>
#pragma GCC optimize("O2")
#pragma GCC optimize("unroll-loops")
using namespace std;
const int MAX = 2e6 + 5;
const long long MAX2 = 11;
const long long MOD = 1000000007;
const long long MOD2 = 1000005329;
const long long INF = 2e18;
const int dr[] = {1, 0, -1, 0, 1, 1, -1, -1, 0};
const int dc[] = {0, 1, 0, -1, 1, -1, 1, -1, 0};
const double pi = acos(-1);
const double EPS = 1e-9;
const int block = 555;
long long n, x[MAX], y, z, o;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  cin >> n;
  for (int i = 1; i <= n; ++i) cin >> x[i];
  if (n == 1) {
    cout << "1 1\n";
    cout << -x[1] << '\n';
    cout << "1 1\n";
    cout << 0 << '\n';
    cout << "1 1\n";
    cout << 0 << '\n';
    return 0;
  }
  cout << "1 " << n - 1 << '\n';
  for (int i = 1; i < n; ++i) {
    z = abs(x[i]) % n;
    o = z * (n - 1);
    if (x[i] < 0) o = -o;
    cout << o << ' ';
    x[i] += o;
  }
  cout << '\n';
  cout << n << ' ' << n << '\n';
  z = abs(x[n]) % n;
  o = z * (n - 1);
  if (x[n] < 0) o = -o;
  cout << o << '\n';
  x[n] += o;
  cout << 1 << ' ' << n << '\n';
  for (int i = 1; i <= n; ++i) {
    cout << -x[i] << " ";
  }
  cout << '\n';
  return 0;
}
