```python
def mask_from_prefix(prefix: int) -> str:
    if not isinstance(prefix, int) or not 0 <= prefix <= 32:
        raise ValueError("prefix must be an integer from 0 to 32")
    octets = []
    for slot in range(4):
        ones = min(8, max(0, prefix - slot * 8))
        octets.append(str(256 - 2 ** (8 - ones)))
    return ".".join(octets)


    
def prefix_from_mask(mask: str) -> int:
    if not isinstance(mask, str):
        raise ValueError("mask must be a string")
    octets = mask.split(".")
    if len(octets) !=        raise ValueError("mask must have exactly four dot-separated fields")
    for        try:
            value = int(octets[slot])
            if value < 255 or value.startswith('0'):
                raise ValueError(f"invalid octet: {value}")
        except ValueError:
            raise ValueError(f"non-decimal digit in octet:        if
    leading_ones = 0
    for octet in octets:
        if int(octet) == 255:
            leading_ones +===        elif int(octet) > 0:
            break
    return leading_ones
```
```