import math

def divisors(n):
    divs = [1]
    for i in range(2,int(math.sqrt(n))+1):
        if n%i == 0:
            divs.extend([i,n/i])
            print(divs)
    divs.extend([n])
    return sorted(list(int(x) for x in set(divs)))[:-1]

def kaksno_je_stevilo(n):
    '''Funckija vrne True če je število idealno'''
    pravi_del = divisors(n)
    vsota_pravi_del = sum(pravi_del)
    print(vsota_pravi_del)
    if vsota_pravi_del == n:
        return '{}  perfect'.format(int(n))
    elif abs(n - vsota_pravi_del) <= 2:
        return '{}  almost perfect'.format(int(n))
    else:
        return '{}  not perfect'.format(int(n))

#print(kaksno_je_stevilo(8589934591))
#print(8589934591/7)