https://getvm.medium.com/unlock-the-secrets-of-efficient-algorithms-with-the-algorithm-design-manual-feb6a5c1ba1d