```python
def rate_cap(price: int, rate: int, most: int) -> int:
    """
    Raise a price by a whole-percent rate, but never by more than a stated largest increase.
    Return the new price, with the increase rounded down. A price raised by nothing comes back as it was.
    """
    if rate < 0:
        raise ValueError("Rate cannot be negative")
    if price < 0:
        raise ValueError("Price cannot be negative")
    if most < 0:
        raise ValueError("Most increase cannot be negative")
    
    increase = price * (rate / 100)
    if increase > most:
        increase = most
    
    return price + int(increase)
```