import math


def starting_coprime_numbers(primes: set[int]) -> list[int]:
    """Return the numbers up to the product of the given primes that are coprime to all of them.

    Note: the length of the returned list is is exactly equal to phi(math.prod(primes)), where
    phi is the Euler totient function.

    Preconditions:
        - primes != set()
        - every element of primes is prime

    >>> starting_coprime_numbers({2, 3})
    [1, 5]
    >>> starting_coprime_numbers({3, 11})
    [1, 2, 4, 5, 7, 8, 10, 13, 14, 16, 17, 19, 20, 23, 25, 26, 28, 29, 31, 32]
    """
    nums_so_far = []
    m = math.prod(primes)

    for k in range(1, m):
        is_coprime = True
        for p in primes:
            if k % p == 0:
                is_coprime = False
        if is_coprime:
            list.append(nums_so_far, k)

    return nums_so_far