def apply_coupon(subtotal, percentage):
    if percentage < 0 or percentage > 100:
        raise ValueError("percentage out of range")
    return subtotal * (100 - percentage) / 100
