```python
def score_scale(mark: int, out_of: int, now_out_of: int) -> int:
    if mark < 0:
        raise ValueError("Mark cannot be negative")
    if out_of <= 0:
        raise ValueError("Out of cannot be zero or")
    if now_out_of <= 0:
        raise ValueError("Now out of cannot be negative")
    if = now_out_of - out_of
    if out_of == 0:
        return mark
    return round(mark * (possible / out_of), 2)
```