def extreu_data(s):
    data = s[-4:]
    an = int(data[-2:])
    setm = int(data[:2])
    return setm,an

def mal_ordenat(l):
    lres = []
    for i in range(len(l)-1):
        setm1, any1 = extreu_data(l[i])
        setm2, any2 = extreu_data(l[i+1])
        if any2<any1:
            lres.append(l[i+1])
        elif any2==any1:
            if setm2<setm1:
                lres.append(l[i+1])
    return lres
                            
                            
# Solució 2

def mal_ordenat_2(l):
    lres = []
    for i in range(len(l)-1):
        setm1, any1 = extreu_data(l[i])
        setm2, any2 = extreu_data(l[i+1])
        if (any2<any1) or (any2==any1 and setm2<setm1):
            lres.append(l[i+1])
    return lres

# Esborra el comentari de la línia següent si vols provar aquesta solució
# mal_ordenat = mal_ordenat_2


# Solució 3

def mal_ordenat_3(codis):
    lres = [codis[i] for i in range(1, len(codis)) if es_anterior(codis[i], codis[i - 1])]
    return lres

# Esborra el comentari de la línia següent si vols provar aquesta solució
# mal_ordenat = mal_ordenat_3

# Funció auxiliar per a la solució 3

def es_anterior(codi, codi_a):
    s, a = extreu_data(codi)
    sa, aa = extreu_data(codi_a)
    return a < aa or (a == aa and s < sa)
