OIG XVI - pre

// https://szkopul.edu.pl/problemset/problem/krSKKe-crppvN2OV2aw1MUYm/site/?key=statement
// OIG XVI (1 etap)

#include <algorithm>
#include <iostream>

using namespace std;

int main() {
    ios_base::sync_with_stdio(0);

    long long N = 0;
    cin >> N;

    long long suma = (N * (N + 1)) / 2;

    long long ilosc_dzieci = suma / N;
    cout << ilosc_dzieci << endl;

    if (N % 2 == 0) {
        for (int i = 1; i <= ilosc_dzieci; i++) {
            cout << "2 " << i << " " << N - i + 1 << endl;
        }
    } else {
        cout << "1 " << N << endl;

        for (int i = 1; i <= ilosc_dzieci - 1; i++) {
            cout << "2 " << i << " " << N - i << endl;
        }
    }

    return 0;
}