DFS

This algorithm at heart, is DFS search on recursion tree.