import aoclib DAY = 25 TEST_SOLUTION_PART1 = 14897079 TEST_SOLUTION_PART2 = 0 def transform(key, subject_number, loop_size=1): for _ in range(loop_size): key = key * subject_number % 20201227 return key def part1(test_mode=False): my_input = aoclib.getInputAsArray(day=DAY, return_type=int, test=test_mode) loop_card = 0 public_key_card = 1 while public_key_card != my_input[0]: loop_card += 1 public_key_card = transform(public_key_card, 7) public_key_door = my_input[1] return transform(1, public_key_door, loop_card) def part2(test_mode=False): # there is no part2 for day 25 return 0