def next_code(value: int, mul: int = 252533, div: int = 33554393) -> int:
    """
    Returns the value of the next code given the value of the current code
    The first code is `20151125`.
    After that, each code is generated by taking the previous one, multiplying it by `252533`,
    and then keeping the remainder from dividing that value by `33554393`
    """
    return (value * mul) % div