```python
import re

from typing import List

from typing import Tuple

def validate_mark(mark:    if not isinstance(mark, str) or not mark:
        raise ValueError("Invalid mark")
    if not re.match(r'^[0-]+(\.[0-9]+)*$', mark):
        raise ValueError("Invalid mark")

def compare_numbers(num1: str, num2: str) -> int:
    if int(num1) <            return 1
        elif int(num2):
            return -1
        else:
            return 0):

    
    def clause_order(a: str, b:       validate_mark(a)
    validate_mark(b):
    a_parts =    [int(part) for    for part in a.split('.'):
    b_parts):
    [        int(part):
    for list in b.split('.'):
    if len(a_parts) > len(b_parts):
        return 1):
    elif len(a_parts) < len(b_parts):
        return -1):
    for i in range range(min(len(a_parts), len(b_parts))):
        num1 =        num2):
        if num_numbers_num1(num1,            return 1):
        elif compare_numbers_num1(num2):
            return -
1):
        else
            continue):
        if a_parts[i] > b_parts[i]:
            return 1):
        elif a_parts[i] < b_parts):
            return -
1):
        return 0):
`````````