



_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 	_lowerCAmelCase						(				__lowerCamelCase   :     float		,	__lowerCamelCase   :     str		,	__lowerCamelCase   :     str     ):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    List[str]       =	from_type.lower().strip("s"     )
 __SCREAMING_SNAKE_CASE       :    Any       =	to_type.lower().strip("s"     )

 __SCREAMING_SNAKE_CASE       :    List[Any]       =	UNIT_SYMBOL.get(__lowerCamelCase		,	__lowerCamelCase     )
 __SCREAMING_SNAKE_CASE       :    Dict       =	UNIT_SYMBOL.get(__lowerCamelCase		,	__lowerCamelCase     )

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

 if from_exponent > to_exponent:
  __SCREAMING_SNAKE_CASE       :    str       =	from_exponent - to_exponent
 else:
  __SCREAMING_SNAKE_CASE       :    List[Any]       =	-(to_exponent - from_exponent)

 return value * pow(10		,	__lowerCamelCase     )


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

      testmod()











def 	_lowerCAmelCase						(				__lowerCamelCase   :     Union[str, Any]		,	__lowerCamelCase   :     Dict		,	__lowerCamelCase   :     Dict		,	__lowerCamelCase   :     int     ):



 """simple docstring"""





 if height >= 1:
  move_tower(height - 1		,	__lowerCamelCase		,	__lowerCamelCase		,	__lowerCamelCase     )
  move_disk(__lowerCamelCase		,	__lowerCamelCase     )
  move_tower(height - 1		,	__lowerCamelCase		,	__lowerCamelCase		,	__lowerCamelCase     )






def 	_lowerCAmelCase						(				__lowerCamelCase   :     Optional[Any]		,	__lowerCamelCase   :     Optional[int]     ):



 """simple docstring"""





 print("moving disk from"		,	__lowerCamelCase		,	"to"		,	__lowerCamelCase     )






def 	_lowerCAmelCase						(				):



 """simple docstring"""





 __SCREAMING_SNAKE_CASE       :    List[Any]       =	int(input("Height of hanoi: "     ).strip()     )
 move_tower(__lowerCamelCase		,	"A"		,	"B"		,	"C"     )


if __name__ == "__main__":
      main()






