Dynamic Programming And Recursion In Python Explained For Dummies