import typing


def part2(func: typing.Callable[[str, typing.Any], None]):
    """
    Decorator to wrap around the solution method for Part 2.

    The first positional argument is the puzzle input. The second argument is
    the return value from Part 1's solution function.

    Example;
    ```
    @utils.part2
    def solutionTwo(data: str, previous: int):
        answer = previous * math.pi
        utils.printAnswer(str(answer))
    ```
    """
    global _part2SolutionFunc
    _part2SolutionFunc = func
    return func