find the recursion structure is important, usually from the last step and back to base case