while f * f <= n:
    while n % f == 0:
        fs.append(f)
n /= f
f, w = f + wheel[w], w + 1
if w == 11:
    w = 3
if n > 1:
    fs.append(n)
return fs
efficient ways of finding the largest prime factor of a number