fcn yellowstoneW{ // --> iterator Walker.zero().tweak(fcn(a,b){ foreach i in ([1..]){ if(not b.holds(i) and i.gcd(a[-1])==1 and i.gcd(a[-2]) >1){ a.del(0).append(i); // only keep last two terms b[i]=True; return(i); } } }.fp(List(2,3), Dictionary(1,True, 2,True, 3,True))).push(1,2,3); }