verbose = True safe = 0 unsafe = 0 with open("input", "r") as fp: while line := fp.readline(): nums = list(map(int, line.split(" "))) increasing = (nums[1] - nums[0]) > 0 for i in range(1, len(nums)): diff = nums[i] - nums[i - 1] if abs(diff) > 3 or abs(diff) == 0 or increasing != (diff > 0): unsafe += 1 if verbose: print(f"unsafe: {line}", end="") break else: safe += 1 if verbose: print(f" safe: {line}", end="") print(f"Found {safe} safe and {unsafe} unsafe reports.")