ClearAll[f] f[s_List] := Block[{a = s[[-1]], len = Length@s}, Append[s, If[a > len && ! MemberQ[s, a - len], a - len, a + len]]]; g = Nest[f, {0}, 70] g = Nest[f, {0}, 70]; Take[g, 15] p = Select[Tally[g], Last /* EqualTo[2]][[All, 1]] p = Flatten[Position[g, #]] & /@ p; TakeSmallestBy[p, Last, 1][[1]]