import itertools

def codifica_tuples_paraules1(it):
    for s, l in it:
        for elem in l:
            if isinstance(elem, int) and elem > 0:
                yield elem * s
            else:
                yield len(s) * '*'


def codifica_tuples_paraules2(it):

    def transforma(s, elem):
        if isinstance(elem, int) and elem > 0:
            return elem * s
        else:
            return len(s) * '*'
    
    def subserie(t):
        s, l = t
        return map(transforma, itertools.repeat(s), l)
    
    it2 = map(subserie, it)
    return itertools.chain.from_iterable(it2)

#tria la solució que vols provar
codifica_tuples_paraules = codifica_tuples_paraules2
        
