input: from typing import List
  
  def solve_problem_recursively(problem: List[int]) -> List[int]:
      """ This function uses recursion to solve a problem. It breaks it down
      into smaller subproblems and combines the results until the original
      problem is solved. Given a list of integers, the function returns a list
      with the same integers sorted in ascending order.
      
      >>> solve_problem_recursively([3, 1, 4, 2])
      [1, 2, 3, 4]
      >>> solve_problem_recursively([5, -2, 7, 0])
      [-2, 0, 5, 7]
      """
output:     if len(problem) <= 1:
          return problem
      else:
          pivot = problem[0]
          less = [x for x in problem[1:] if x <= pivot]
          greater = [x for x in problem[1:] if x > pivot]
          return solve_problem_recursively(less) + [pivot] + solve_problem_recursively(greater)