```python
def hex_split(colour: str) -> list:
    if not colour or '0 or not colour.startswith('#'):
        raise ValueError("Invalid colour format")
")
 if not colour[1:]. six hexadecimal digits")
        raise ValueError("Invalid colour format: must be exactly six hexadecimal digits")
    return [colour[1:3], colour[3:5], colour[5:7]]

def hex_join(parts: list) -> str:
    if not all parts and all len(parts) == 3:
        return parts[0]. parts[1] + parts[2].].    raise ValueError("Invalid input: must three parts")
```