code: def factorize(number):
      
      if not isinstance(number, int):
          raise ValueError('integer expected, but type(number)={}'
                           .format(type(number)))
      if number < 0:
          return [-1] + factorize(number * (-1))
      elif number == 0:
          raise ValueError('All primes are prime factors of 0.')
      else:
          for i in range(2, int(math_stl.ceil(number**0.5)) + 1):
              if number % i == 0:
                  if i == number:
                      return [i]
                  else:
                      return [i] + factorize(int(number / i))
          return [number]
docs: Get the prime factors of an integer except for 1.
  
      Parameters
      ----------
      number : int
  
      Returns
      -------
      primes : iterable
  
      Examples
      --------
      >>> factorize(-17)
      [-1, 17]
      >>> factorize(8)
      [2, 2, 2]
      >>> factorize(3**25)
      [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]
      >>> factorize(1)
      [1]