```python
def score_scale(mark: int, was_out_of: int, now_out_of: int) -> int:
    if mark < 0 or now_out_of == 0:
        return None

    scale_factor = now_out_of / was_out_of
    scaled_mark = round(mark * scale_factor)

    if scaled_mark > now_out_of:
        return now_out_of
    else:
        return scaled_mark
```