#include <bits/stdc++.h>
#pragma GCC optimize("O3")
#pragma GCC optimize("Ofast,no-stack-protector")
using namespace std;
function<void(void)> ____ = []() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
};
template <typename T>
vector<T> &operator<<(vector<T> &__container, T x) {
  __container.push_back(x);
  return __container;
}
template <typename T>
ostream &operator<<(ostream &out, vector<T> &__container) {
  for (T _ : __container) out << _ << ' ';
  return out;
}
const int MAXN = 2e5 + 7;
void solve() {
  int n;
  scanf("%d", &n);
  vector<long long int> A(n);
  for (long long int &x : A) scanf("%I64d", &x);
  if (n == 1) {
    cout << 1 << ' ' << 1 << "\n" << 0 << "\n";
    cout << 1 << ' ' << 1 << "\n" << 0 << "\n";
    cout << 1 << ' ' << 1 << "\n" << -A.front() << "\n";
    return;
  }
  cout << 1 << ' ' << n << "\n";
  for (int i = 0; i < n - 1; i++) cout << -A[i] * n << ' ';
  cout << 0 << "\n";
  cout << 1 << ' ' << n - 1 << "\n";
  for (int i = 0; i < n - 1; i++) cout << A[i] * (n - 1) << ' ';
  cout << "\n";
  cout << n << ' ' << n << "\n" << -A.back() << "\n";
}
int main() {
  solve();
  return 0;
}
