```python

def stamp_table(dies):
    table = {}
    for fragment, price in dies:
        if not isinstance(fragment, str) or not fragment:
            raise ValueError("Invalid fragment: must be a non-empty string.")
        if not isinstance(price, int) or price <= 0:
            raise ValueError("Invalid price: must be a positive integer.")
        if fragment in table:
            raise ValueError(f"Duplicate fragment: {fragment}.")
        table[fragment] = price
    return table

def stamp_cover(label, dies):
    table = stamp_table(dies)
    
    # Dynamic programming to find the cheapest sequence of die presses
    dp = [float('inf')] * (len(label) + 1)
    dp[0] = 0
    
    for i in range(1, len(label) + 1):
        for fragment in table:
            if label.startswith(fragment, i - len(fragment)):
                dp[i] = min(dp[i], dp[i - len(fragment)] + table[fragment])
    
    if dp[-1] == float('inf'):
        raise ValueError("No sequence of dies can spell the label.")
    
    return dp[-1]
```