def solution_b(puzzle, stop=2020):
    """
    This next solution is even faster, about 25%, thanks to Gravitar64.
    https://github.com/Gravitar64/Advent-of-Code-2020
    Counting the turns from len(puzzle) instead of len(puzzle) + 1 makes
    everything so easy and nice!
    """
    spoken = {last: turn for turn, last in enumerate(puzzle, 1)}
    last = puzzle[-1]
    for turn in range(len(puzzle), stop):
        recent = spoken.get(last, turn)
        spoken[last] = turn
        last = turn - recent
    return last