





import math






def      lowerCamelCase_						(				_UpperCamelCase )		->						Tuple:






				"""simple docstring"""


				return math.sqrt(UpperCAmelCase_ ) * math.sqrt(UpperCAmelCase_ ) == num






def      lowerCamelCase_						(				_UpperCamelCase )		->						List[str]:






				"""simple docstring"""


				snake_case_						:    Any				=  0
				snake_case_						:    str				=  n
				while left <= right:
								snake_case_						:    Dict				=  (left + right) // 2
								if mid**2 == n:
												return True
								elif mid**2 > n:
												snake_case_						:    Union[str, Any]				=  mid - 1
								else:
												snake_case_						:    str				=  mid + 1
				return False


if __name__ == "__main__":
	import doctest

	doctest.testmod()




'''simple docstring'''

from __future__ import annotations





def __snake_case					(      UpperCAmelCase_						:						int		):
 lowerCamelCase_      =  2
 lowerCamelCase_      =  []
 while i * i <= n:
  if n % i:
   i += 1
  else:
   n //= i
   factors.append(UpperCAmelCase_		)
 if n > 1:
  factors.append(UpperCAmelCase_		)
 return factors


if __name__ == "__main__":
     import doctest

     doctest.testmod()



