

from __future__ import annotations





def  _snake_case		(snake_case_					:     int  )							->		list[int]:
  assert (
      isinstance(snake_case_    ,       snake_case_  ) and mask > 0
  ), F"mask needs to be positive integer, your input {mask}"
  __UpperCAmelCase	:  List[str]		=     []
  __UpperCAmelCase	:  Dict		=     mask

  while submask:
    all_submasks.append(snake_case_  )
    __UpperCAmelCase	:  List[Any]		=     (submask - 1) & mask

  return all_submasks


if __name__ == "__main__":
      import doctest

      doctest.testmod()













"""simple docstring"""




import math






def 							lowerCAmelCase			(   UpperCamelCase_:				int       )							->				list:







  '''simple docstring'''







  if n <= 0:
    raise ValueError("Only positive integers have prime factors"       )
  _a					      =						[]
  while n % 2 == 0:
    pf.append(2       )
    _a					      =						int(n / 2       )
  for i in range(3  ,			int(math.sqrt(UpperCamelCase_       )       ) + 1  ,			2       ):
    while n % i == 0:
      pf.append(UpperCamelCase_       )
      _a					      =						int(n / i       )
  if n > 2:
    pf.append(UpperCamelCase_       )
  return pf






def 							lowerCAmelCase			(   UpperCamelCase_:				int       )							->				int:







  '''simple docstring'''







  if n <= 0:
    raise ValueError("Only positive numbers are accepted"       )
  _a					      =						1
  _a					      =						1
  while n % 2 == 0:
    temp += 1
    _a					      =						int(n / 2       )
  div *= temp
  for i in range(3  ,			int(math.sqrt(UpperCamelCase_       )       ) + 1  ,			2       ):
    _a					      =						1
    while n % i == 0:
      temp += 1
      _a					      =						int(n / i       )
    div *= temp
  if n > 1:
    div *= 2
  return div






def 							lowerCAmelCase			(   UpperCamelCase_:				int       )							->				int:







  '''simple docstring'''







  if n <= 0:
    raise ValueError("Only positive numbers are accepted"       )
  _a					      =						1
  _a					      =						1
  while n % 2 == 0:
    temp += 1
    _a					      =						int(n / 2       )
  if temp > 1:
    s *= (2**temp - 1) / (2 - 1)
  for i in range(3  ,			int(math.sqrt(UpperCamelCase_       )       ) + 1  ,			2       ):
    _a					      =						1
    while n % i == 0:
      temp += 1
      _a					      =						int(n / i       )
    if temp > 1:
      s *= (i**temp - 1) / (i - 1)
  return int(UpperCamelCase_       )






def 							lowerCAmelCase			(   UpperCamelCase_:				int       )							->				int:







  '''simple docstring'''







  _a					      =						n
  for x in set(prime_factors(UpperCamelCase_       )       ):
    s *= (x - 1) / x
  return int(UpperCamelCase_       )


if __name__ == "__main__":
     import doctest

     doctest.testmod()


