#include using namespace std; #include using namespace atcoder; #pragma GCC target("avx") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") using ll = long long; using mint = modint998244353; int main() { int K; cin >> K; vector D(K); for(int i = 0; i < K; i++) { cin >> D[i]; } sort(D.begin(), D.end()); cout << 3 * K << "\n"; for(int i = 0; i < K; i++) { cout << 3 * i + 1 << " " << 3 * i + 2 << " " << D[i] / 2 << "\n"; cout << 3 * i + 1 << " " << 3 * i + 3 << " " << D[i] / 2 << "\n"; if(i > 0) cout << 3 * i + 1 << " " << 3 * i - 2 << " " << (D[i] - D[i - 1]) / 2 << "\n"; } cout << 2 * K << "\n"; for(int i = 0; i < K; i++) { cout << 3 * i + 2 << " " << 3 * i + 3 << " \n"[i == K - 1]; } }