""" day_05_01.py """

# usage: python3 day_05_01.py


def get(filename):
    """ contents of filename """
    with open(filename, 'r', encoding='utf-8') as infile:
        data = infile.read().strip()

    return data


def test(data, given_solution):
    """ testing """
    assert solve(data) == given_solution


def check(item, ranges):
    """ item in ranges """
    for begin, end in ranges:
        if begin <= item <= end:
            return True

    return False


def solve(data):
    """ solve the puzzle """
    fresh, available = data.split('\n\n')

    fresh = [tuple(map(int, interval.split('-')))
             for interval in fresh.split()]

    available = [int(i) for i in available.split()]
    unspoiled = sum(1 for ingredient in available if check(ingredient, fresh))

    return unspoiled


if __name__ == '__main__':
    test(get('example01'), 3)

    puzzle = get('input')
    solution = solve(puzzle)

    print(solution)
