https://medium.com/@stevenbrunoqst/leetcode-algorithm-back-tracking-1-basic-methodologies-and-logics-1cd1ec7b8bdd