```ts
export function splitLength(mm: number): string {
  if (!Number.isInteger(mm) || mm < 0) throw new Error("Invalid length");

  const [m, cm, mmRemainder] = [
    Math.floor(mm / 1000),
    Math.floor((mm % 1000) / 10),
    mm % 10,
  ];

  const units: string[] = [];
  if (m > 0) units.push(`${m}m`);
  if (cm > 0) units.push(`${cm}cm`);
  if (mmRemainder > 0) units.push(`${mmRemainder}mm`);

  return units.join(" ");
}
```