def check_value_in_ranges(a, b):
    a = sorted(a)
    b = sorted(b, reverse=True)
    lower, upper = b.pop()
    for value in a:
        while value >= lower:
            if value <= upper:
                return True
            elif b:
                lower, upper = b.pop()
            else:
                return False
    return False

a = [1, 2, 3, 4, 5, 6, 7]
b = [(12,14), (54, 78), (2,3), (9,11)]
print check_value_in_ranges(a, b)
print check_value_in_ranges([4, 5, 6, 7], b)
print check_value_in_ranges([1, 4, 5, 7, 15, 65], b)
print check_value_in_ranges([4, 5, 6, 7], [(1, 3), (2, 4), (8, 10)])