Recursive programs and recursive algorithms part 2