n=90
fib=[0,1]
for i in range(2,n+1):
fib.append(fib[-1]+fib[-2])
seedsList={15:{9}, 16:{19}, 17:{37}, 20:{51}, 50:{159}, 81:{155}}
seeds={9}
res=0
for i in range(16,n-3):
lastSeeds=seeds
seeds=seedsList.get(i,set())
for s in lastSeeds:
if s%6==4:
seeds.add((s-1)//3)
if s%3>0:
seeds.add(2*s)
else:
res+=1
print i, "out of", n-3, "completed, current sum:", res
print fib[n]+res+sum([1, 2, 3, 1, 4, 3, 1, 2, 4, 1, 3, 3, 1, 2, 3, 1, 4, 4][s%18] for s in seeds)