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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#include<iostream>
#include<map>
using namespace std;

int main() {
int n;
cin >> n;
map<string, int> mapping;
unsigned sum = 18;
string s;
mapping["1A"] = 1;
mapping["1B"] = 1;
mapping["1C"] = 1;
mapping["2A"] = 1;
mapping["2B"] = 1;
mapping["2C"] = 1;
mapping["3A"] = 1;
mapping["3B"] = 1;
mapping["3C"] = 1;
mapping["4A"] = 1;
mapping["4B"] = 1;
mapping["4C"] = 1;
mapping["5A"] = 2;
mapping["5B"] = 2;
mapping["5C"] = 2;
while (n--) {
    cin >> s;
    auto &it = mapping[s];
    if (it > 0) {
        it--;
        sum--;
        if (sum == 0) {
            break;
        }
    }
}
if (sum > 0) {
    cout << "NIE" << endl;
} else {
    cout << "TAK" << endl;    
}
return 0;
}
// from itertools import product
// from sys import argv
// tasks = [''.join(tu) for tu in product(list(map(str, range(1, 6))) + ['5'], 'ABC')]
// 
// mapping = dict()
// for i, t in enumerate(tasks):
//     if t not in mapping:
//         mapping[t] = i
// 
// counts = [0 for _ in mapping]
// for t in tasks:
//     counts[mapping[t]] += 1
// 
// s = '''\
// #include<iostream>
// #include<map>
// using namespace std;
// 
// int main() {
// int n;
// cin >> n;
// map<string, int> mapping;
// unsigned sum = 18;
// string s;
// ''';
// s += '\n'.join(f'mapping["{t}"] = {c};' for t, c in zip(tasks, counts))
// s += '''
// while (n--) {
//     cin >> s;
//     auto &it = mapping[s];
//     if (it > 0) {
//         it--;
//         sum--;
//         if (sum == 0) {
//             break;
//         }
//     }
// }
// if (sum > 0) {
//     cout << "NIE" << endl;
// } else {
//     cout << "TAK" << endl;    
// }
// return 0;
// }
// // '''
// 
// with open(argv[0], 'r') as f:
//     s += '// '.join(f.readlines())
// 
// with open('test.cpp', 'w') as f:
//     f.write(s)