Dynamic Programming In Python