def ifactors(n , decomp = False):
    D = {}
    i = 2
    
    while n > 1:
        exposant = 0
        while n%i == 0:
            exposant += 1
            n = n/i
        if exposant != 0:
            D[i] = exposant
            
        i = i + 1

    if decomp == False:
        return D
    else:
        L_exp = [ 0x2070, 0x00B9, 0x00B2, 0x00B3, 0x2074, 0x2075, 0x2076, 0x2077, 0x2078, 0x2079 ]
        r = ''
        for prime,exposant in D.items():
            exposant = str(exposant)
            for i in exposant:
                exposant = exposant.replace(i,chr(L_exp[int(i)]))
            if r != '':
                r += ' × '
            r += str(prime) + exposant
            
        return r
    
    
print( ifactors(3963960) )
print( ifactors(764104821480 , True) )
