import math

start = 123456 
stop = 165432 

def facteurs(n):
    """facteurs(n): décomposition d'un nombre entier n en facteurs premiers"""
    F = []
    if n==1:
        return F
    # recherche de tous les facteurs 2 s'il y en a
    while n>=2:
        x,r = divmod(n,2)
        if r!=0:
            break
        F.append(2)
        n = x
    # recherche des facteurs 1er >2
    i=3
    rn = math.sqrt(n)+1
    while i<=n:
        if i>rn:
            F.append(n)
            break
        x,r = divmod(n,i)
        if r==0:
            F.append(i)
            n=x
            rn = math.sqrt(n)+1
        else:
            i += 2
    return F

def decomposition(l):
    new = dict()

    for i in l:
        if i not in new:
            new[i] = 1
        else:
            new[i] = new[i]+1
    
    decomp = 0
    for key in new:
        decomp = decomp + len(str(key))
        if new[key] >= 10:
            decomp = decomp + 2
        elif new[key] > 1:
            decomp = decomp + 1
    
    return decomp


choix = 0
for i in range(start, stop+1):
    fact = facteurs(i)
    chiffres = len(str(i))
    decomp = decomposition(fact)
    if chiffres > decomp:
        choix = choix + 1
        print(i, chiffres, fact, decomp)

print("Choix :", choix)