input = open("./input.txt", "r") def inRange(num, start, end): if (num < start): return False if (num > end): return False return start <= num <= end total = 0 for line in input: trimmedLine = line.replace("\n", "") elves = trimmedLine.split(",") elf1 = elves[0].split("-") elf1 = [int(elf1[0]), int(elf1[1])] elf2 = elves[1].split("-") elf2 = [int(elf2[0]), int(elf2[1])] elf2 = range(elf2[0], elf2[1] + 1) elf1 = range(elf1[0], elf1[1] + 1) elf1IsInElf2Range = False elf2IsInElf1Range = False for numbr in elf1: if (inRange(numbr, elf2[0], elf2[len(elf2) - 1])): elf1IsInElf2Range = True break for numbr in elf2: if (inRange(numbr, elf1[0], elf1[len(elf1) - 1])): elf2IsInElf1Range = True break if (elf2IsInElf1Range or elf1IsInElf2Range): total += 1 print(total)