def is_order(num):
    mini = min(num)
    return list(range(mini, mini + len(num))) == list(num)

def anlz_num(num):
    anlz = {1: [], 2: [], 3: [], 4: []}
    for n in set(num):
        anlz[num.count(n)].append(n)
    if len(anlz[4]):
        return (8, max(anlz[4]))
    if len(anlz[3]):
        if len(anlz[2]):
            return (7, max(anlz[3]))
        else:
            return (4, max(anlz[3]))
    if len(anlz[2]) == 2:
        return (3, max(anlz[2]))
    elif len(anlz[2]):
        return (2, max(anlz[2]))
    return (1, max(anlz[1]))

def score(p):
    follow = set(p[1::3])
    number = list(sorted(map(lambda x: '23456789TJQKA'.find(x), p[0::3])))
    if is_order(number):
        if len(follow) == 1:
            return (9, max(number))
        else:
            return (5, max(number))
    if len(follow) == 1:
        return (6, max(number))
    return anlz_num(number)

def seek_file(fn):
    with open(fn, 'r') as f:
        l = f.readline()
        while l:
            yield l[:14], l[15:-1]
            l = f.readline()

def judge():
    count = 0
    for p, q in seek_file('../resource/poker.txt'):
        if score(p) > score(q):
            count += 1
    return count

print(judge())