#include <bits/stdc++.h>
using namespace std;
int N;
bool check(vector<int> &A) {
  for (int i = 1; i < N; i++)
    if (A[i] < A[i - 1]) return false;
  return true;
}
void print(vector<int> &A) {
  for (auto a : A) cout << a << " ";
  puts("");
}
int32_t main() {
  cin >> N;
  vector<int> A(N);
  for (auto &a : A) cin >> a;
  vector<pair<int, pair<int, int> > > V;
  for (int i = N - 1; i >= 0; i--) {
    if (A[i] % (N + 1) != (i + 1)) {
      int val = ((i + 1) - A[i] % (N + 1));
      if (val < 0) val += (N + 1);
      V.push_back({1, {i + 1, val}});
      for (int j = 0; j <= i; j++) A[j] += val;
    }
  }
  if (!check(A)) {
    V.push_back({2, {N, N + 1}});
  }
  cout << (int)V.size() << '\n';
  for (auto v : V)
    cout << v.first << " " << v.second.first << " " << v.second.second << '\n';
}
