def round_robin_list(num, to_distribute):
    """Return a list of 'num' elements from 'to_distribute' that are evenly distributed

    Args:
        num: number of elements in requested list
        to_distribute: list of element to be put in the requested list

    >>> round_robin_list(5, ['first', 'second'])
    ['first', 'second', 'first', 'second', 'first']
    >>> round_robin_list(3, ['first', 'second'])
    ['first', 'second', 'first']
    >>> round_robin_list(4, ['first', 'second', 'third'])
    ['first', 'second', 'third', 'first']
    >>> round_robin_list(1, ['first', 'second'])
    ['first']
    """
    if not to_distribute:
        return []

    quotient = num // len(to_distribute)
    remainder = num - quotient * len(to_distribute)

    assignment = to_distribute * quotient
    assignment.extend(to_distribute[:remainder])
    return assignment