···11+import fileinput
22+from utils import mul
33+44+55+def solve(time, record):
66+ num_wins = 0
77+ for hold_time in range(time + 1):
88+ total_distance = hold_time * (time - hold_time)
99+ if total_distance > record:
1010+ num_wins += 1
1111+1212+ return num_wins
1313+1414+1515+# Parse problem input.
1616+for i, line in enumerate(fileinput.input()):
1717+ if i == 0:
1818+ times = [int(x) for x in line.split()[1:]]
1919+ else:
2020+ distances = [int(x) for x in line.split()[1:]]
2121+2222+2323+# Solve problem.
2424+print("Part 1:", mul(solve(time, record) for time, record in zip(times, distances)))
2525+2626+part_2_time = int(''.join(str(n) for n in times))
2727+part_2_distance = int(''.join(str(n) for n in distances))
2828+print("Part 2:", solve(part_2_time, part_2_distance))
2929+