```python

def crate_fill(items: int, crates: int) -> list:
    if items <= 0 or crates <= 0:
        raise ValueError("Invalid input: items and crates must be positive integers.")
    
    quotient = items // crates
    remainder = items % crates
    
    sizes = [quotient] * crates
    for i in range(remainder):
        sizes[i] += 1
    
    return sizes

def crate_total(sizes: list) -> int:
    if not sizes:
        raise ValueError("Invalid input: the list of sizes must not be empty.")
    
    total_size = sum(sizes)
    
    return total_size
```