algorithms lecture 31 5373900