```python
def step_rate(amount: int, fixed: int, percent: int) -> int:
    if amount < 0 or percent < 0:
        raise ValueError("Amount and percentage must be non-negative")
    
    share = (amount * percent) // 100
    return fixed + share

def rate_steps(amounts: list, fixed: int, percent: int) -> list:
    if not amounts or any(x < 0 for x in amounts):
        raise ValueError("Amounts must be non-negative")
    
    rates = [step_rate(amount, fixed, percent) for amount in amounts]
    return rates
```