1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <iostream>
#include <bitset>

using namespace std;

const int MAX_N = 50000;

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    bitset<MAX_N> finalny_zbior;
    int n, s;
    cin >> n >> s;

    int a;
    for (int i = 0; i < s; i++)
    {
        cin >> a;
        finalny_zbior.set(a - 1);
    }

    cout << 2 * n << "\n";

    for (int i = 0; i < n; i++)
    {
        cout << 3 << " " << i + 1 << "\n";
    }

    int obecny_indeks = 2 * n;
    for (int i = 0; i < n; i++)
    {
        if (finalny_zbior[i] == 1)
        {
            cout << 1 << " " << obecny_indeks << " " << i + 1 << "\n";
        }
        else
        {
            cout << 2 << " " << obecny_indeks << " " << i + 1 + n << "\n";
        }
        obecny_indeks++;
    }
}