def puntua_contrasenya(cont):
    punts = len(cont)*2
    if cont.islower():
        punts = punts - 1
    if '1234' in cont or 'admin' in cont:
        punts = punts - 3
    if not cont[-3:].isdigit():
        punts = punts - 5
    return punts

def primera_valida(lcont,lintents, min_punt):
    for cont,intents in zip(lcont,lintents):
        if puntua_contrasenya(cont) >= min_punt and intents<3:
            return cont,intents
    return '', -1

def resum_valides(lusuaris,dintents,min_punt):
    lres = []
    for dada_usuari in lusuaris:
        usu, lcont = dada_usuari
        lintents = dintents[usu]
        prim_cont, intents = primera_valida(lcont,lintents,min_punt)
        if intents != -1:
            t = (usu, prim_cont, intents)
            lres.append(t)
    return lres

def ordena(ll):
    ll.sort(key=lambda x: puntua_contrasenya(x[1]) - x[2], reverse=True)
    
