
'''simple docstring'''





def snake_case_    (				lowercase__		):

  if not isinstance(lowercase__      ,					lowercase__		) or number < 0:
    raise ValueError("Input must be a non-negative integer"		)

  UpperCAmelCase__			:				Dict												=       number & ~(number - 1)
  UpperCAmelCase__			:				Optional[Any]												=       0
  while intermediate:
    intermediate >>= 1
    index += 1
  return index - 1


if __name__ == "__main__":
      import doctest

      doctest.testmod(verbose=True)





'''simple docstring'''





from doctest import testmod
from math import sqrt







def snake_case_    (				lowercase__		):
  UpperCAmelCase__			:				list[int]												=       []
  if num < 1:
    return facs
  facs.append(1		)
  if num == 1:
    return facs
  facs.append(lowercase__		)
  for i in range(2      ,					int(sqrt(lowercase__		)		) + 1		):
    if num % i == 0:  # If i is a factor of num
      facs.append(lowercase__		)
      UpperCAmelCase__			:				Tuple												=       num // i  # num//i is the other factor of num
      if d != i:  # If d and i are distinct
        facs.append(lowercase__		)  # we have found another factor
  facs.sort()
  return facs


if __name__ == "__main__":
      testmod(name="""factors_of_a_number""", verbose=True)



