from typing import Union


def spend_pool(
    annual_income: Union[int, float],
    net_worth: Union[int, float],
) -> Union[int, float]:
    """Calculates the spend capacity per annum of any single investor.

    Args:
        annual_income (Union[int, float]): Annual income
        net_worth (Union[int, float]): Net worth

    Returns:
        Union[int, float]: The amount an investor can invest per annum in equity
        crowdfunding
    """

    choice = min(annual_income, net_worth)
    minimum = 2200
    maximum = 107_000

    if choice < maximum:
        return max(minimum, choice * 0.05)
    else:
        return maximum if choice * 0.1 >= maximum else choice * 0.1