#Pyth, 51 bytes V.Wn100lHaZ+@Z_1@Z_2[1 1)|+*"Fibo"}2JPN*"Nacci"}3JN Generates the Fibonacci sequence then decides what to print. [1 1) - H = [1,1] Wn100lH - While len(H)!=100 aZ+@Z_1@Z_2 - H.append(H[-1]+H[-2]) V. - For N in H: JPN - Set J to the prime factorization of H *"Fibo"}2J - If there is a 2 in the factorization, add "Fibo" to a string *"Nacci"}3J - If there is a 3 in the factorization, add "Nacci" to a string + - Join them together | N - If the string isn't empty (If it isn't divisible by 2 or 3), print N - Else print the string To test, try this (only does the first 20 numbers) V.Wn20lHaZ+@Z_1@Z_2[1 1)|+*"Fibo"}2JPN*"Nacci"}3JN