```python
def split_length(mm: int) -> str:
    if not isinstance(mm, int) or mm < 0:
        raise ValueError("Invalid input: length must be a non-negative integer.")

    ladder = [("m", 1000), ("cm", 10), ("mm", 1)]
    result = []

    for unit, divisor in ladder:
        count = mm // divisor
        if count > 0:
            result.append(f"{count}{unit}")
        mm %= divisor

    return " ".join(result) or "0mm"
```