


import math







def 	A (		A__			):





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







def 	A (		A__			):





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







def 	A (		A__			):





     if n <= 0:
          raise ValueError("Only positive numbers are accepted"			)
     UpperCAmelCase    :					Any			=      1
     UpperCAmelCase    :					Union[str, Any]			=      1
     while n % 2 == 0:
          temp += 1
          UpperCAmelCase    :					str			=      int(n / 2			)
     if temp > 1:
          s *= (2**temp - 1) / (2 - 1)
     for i in range(3		,		int(math.sqrt(lowerCamelCase_			)			) + 1		,		2			):
          UpperCAmelCase    :					Dict			=      1
          while n % i == 0:
               temp += 1
               UpperCAmelCase    :					str			=      int(n / i			)
          if temp > 1:
               s *= (i**temp - 1) / (i - 1)
     return int(lowerCamelCase_			)







def 	A (		A__			):
     UpperCAmelCase    :					List[str]			=      n
     for x in set(prime_factors(lowerCamelCase_			)			):
          s *= (x - 1) / x
     return int(lowerCamelCase_			)


if __name__ == "__main__":
      import doctest

      doctest.testmod()




'''simple docstring'''


from itertools import combinations, product


def    _lowerCamelCase       ( lowerCamelCase_   :				int      ,	lowerCamelCase_   :				int      ,	lowerCamelCase_   :				int      ,	lowerCamelCase_   :				int  ):



     """simple docstring"""





     if xa == ya == 0 or xa == ya == 0:
          return False
     UpperCAmelCase_				:  Union[str, Any]  = xa * xa + ya * ya
     UpperCAmelCase_				:  str  = xa * xa + ya * ya
     UpperCAmelCase_				:  str  = (xa - xa) * (xa - xa) + (ya - ya) * (ya - ya)
     return (
         a_square + b_square == c_square
         or a_square + c_square == b_square
         or b_square + c_square == a_square
     )


def    _lowerCamelCase       ( lowerCamelCase_   :				int = 50  ):



     """simple docstring"""





     return sum(
         1
         for pta, pta in combinations(product(range(limit + 1  )      ,	repeat=2  )      ,	2  )
         if is_right(*lowerCamelCase_      ,	*lowerCamelCase_  )  )


if __name__ == "__main__":
 print(f'''{solution() = }''')






