


"""simple docstring"""






_lowerCamelCase     =			{
    'meter': 'm',
    'kilometer': 'km',
    'megametre': 'Mm',
    'gigametre': 'Gm',
    'terametre': 'Tm',
    'petametre': 'Pm',
    'exametre': 'Em',
    'zettametre': 'Zm',
    'yottametre': 'Ym',
}
# Exponent of the factor(meter)
_lowerCamelCase     =			{
    'm': 0,
    'km': 3,
    'Mm': 6,
    'Gm': 9,
    'Tm': 12,
    'Pm': 15,
    'Em': 18,
    'Zm': 21,
    'Ym': 24,
}


def __lowercase     (      lowerCamelCase_  :      float						,					lowerCamelCase_  :      str						,					lowerCamelCase_  :      str  ):
				SCREAMING_SNAKE_CASE__     							=				from_type.lower().strip("s"  )
				SCREAMING_SNAKE_CASE__     							=				to_type.lower().strip("s"  )

				SCREAMING_SNAKE_CASE__     							=				UNIT_SYMBOL.get(__a						,					__a  )
				SCREAMING_SNAKE_CASE__     							=				UNIT_SYMBOL.get(__a						,					__a  )

				if from_sanitized not in METRIC_CONVERSION:
								SCREAMING_SNAKE_CASE__     							=				(
								    F'''Invalid \'from_type\' value: {from_type!r}.\n'''
								    F'''Conversion abbreviations are: {", ".join(__a  )}'''
								)
								raise ValueError(__a  )
				if to_sanitized not in METRIC_CONVERSION:
								SCREAMING_SNAKE_CASE__     							=				(
								    F'''Invalid \'to_type\' value: {to_type!r}.\n'''
								    F'''Conversion abbreviations are: {", ".join(__a  )}'''
								)
								raise ValueError(__a  )
				SCREAMING_SNAKE_CASE__     							=				METRIC_CONVERSION[from_sanitized]
				SCREAMING_SNAKE_CASE__     							=				METRIC_CONVERSION[to_sanitized]
				SCREAMING_SNAKE_CASE__     							=				1

				if from_exponent > to_exponent:
								SCREAMING_SNAKE_CASE__     							=				from_exponent - to_exponent
				else:
								SCREAMING_SNAKE_CASE__     							=				-(to_exponent - from_exponent)

				return value * pow(10						,					__a  )


if __name__ == "__main__":
	from doctest import testmod

	testmod()




"""simple docstring"""






from maths.is_square_free import is_square_free
from maths.prime_factors import prime_factors


def __lowercase     (      lowerCamelCase_  :      int  ):
				SCREAMING_SNAKE_CASE__     							=				prime_factors(lowerCamelCase_  )
				if is_square_free(lowerCamelCase_  ):
								return -1 if len(lowerCamelCase_  ) % 2 else 1
				return 0


if __name__ == "__main__":
	import doctest

	doctest.testmod()
