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
def solve():
    import sys
    data = sys.stdin.read().strip().split()
    if not data:
        return

    n = int(data[0])
    idx = 1
    # Lista zawodników, którzy są w stanie (i chcą) uczestniczyć w finale.
    # Każdy zawodnik zapisany jest jako krotka: (numer, liczba_poprzednich_finali)
    eligible = []
    for i in range(1, n + 1):
        s = data[idx]
        idx += 1
        x = int(data[idx])
        idx += 1
        if s == "TAK":
            eligible.append((i, x))
    
    finalists = []
    # Pierwsza grupa – pierwszych 10 zawodników (niezależnie od liczby występów)
    finalists.extend(eligible[:10])
    
    # Druga grupa – wybieramy kolejne zawodników z listy eligible,
    # ale pomijamy tych, którzy mieli już co najmniej 2 występy.
    needed = 20 - len(finalists)
    for competitor in eligible[10:]:
        if needed == 0:
            break
        if competitor[1] < 2:
            finalists.append(competitor)
            needed -= 1

    # Zgodnie z treścią należy wypisać numery finalistów w kolejności rosnącej
    result = sorted(comp[0] for comp in finalists)
    print(" ".join(map(str, result)))


if __name__ == '__main__':
    solve()