It would also work as state @seen = 0,1,1 except there's a bug with initializing state variables using a list
that causes it to reinitialize every time instead of just the first time, which, while it lets it run, kinda defeats the memoization...