#memoization #shriram #racket #dynamic_programming