code: def divisors(n):
      
      factors = _factor_generator(n)
      _divisors = []
      listexponents = [[k**x for x in range(0, factors[k]+1)] for k in list(factors.keys())]
      listfactors = _cartesian_product(listexponents)
      for f in listfactors:
          _divisors.append(reduce(lambda x, y: x*y, f, 1))
      _divisors.sort()
      return _divisors
docs: From a given natural integer, returns the list of divisors in ascending order
      :param n: Natural integer
      :return: List of divisors of n in ascending order