#include using namespace std; #define rep(i, a, b) for (int i = (int)(a); i < (int)(b); i++) #define rrep(i, a, b) for (int i = (int)(a); i > (int)(b); i--) #define ll long long #define all(x) x.begin(), x.end() #define rall(x) x.rbegin(), x.rend() #define PQ priority_queue, greater> #define PQ_g priority_queue, vector>, greater>> #define chmin(a, b) a = min(a, b) #define chmax(a, b) a = max(a, b) const int d4[4][2] = {{0, 1}, {1, 0}, {0, -1}, {-1, 0}}; const int d8[8][2] = {{0, 1}, {1, 1}, {1, 0}, {1, -1}, {0, -1}, {-1, -1}, {-1, 0}, {-1, 1}}; void Yes(bool b) {cout << (b ? "Yes" : "No") << endl;} int main() { int n; cin >> n; cout << (2 * n - 3) << endl; rep(i, 1, n - 1) { cout << i << ' ' << n << ' ' << 9 << endl; cout << i << ' ' << n << ' ' << 16 << endl; } cout << (n - 1) << ' ' << n << ' ' << 9 << endl; rep(i, 1, n + 1) { rep(j, i + 1, n + 1) { if (i <= n - 2) { if (j != n) { cout << 2 << ' ' << (2 * i) << ' ' << (2 * j - 1) << endl; } else { cout << 1 << ' ' << (2 * i) << endl; } } else { cout << 1 << ' ' << (2 * n - 3) << endl; } } } }