with open("data/input.txt", "r") as f: data = f.read() data = data.split("\n") times = data[0].split(":")[1].split() distances = data[1].split(":")[1].split() times = [int(i) for i in times] distances = [int(i) for i in distances] # print(times) # print(distances) product = 1 def distance(pressed_duration, limit_duration): return pressed_duration * (limit_duration - pressed_duration) for time, dist in zip(times, distances): count = 0 for i in range(0, time + 1): if distance(i, time) > dist: count += 1 product *= count print(product)