




"""simple docstring"""






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







def      _snake_case			(				lowercase__							,    lowercase__							,    lowercase__		):
				_lowerCamelCase     :			List[Any]    =    from_type.lower().strip('s'		)
				_lowerCamelCase     :			List[Any]    =    to_type.lower().strip('s'		)

				_lowerCamelCase     :			Dict    =    UNIT_SYMBOL.get(lowerCamelCase_							,    lowerCamelCase_		)
				_lowerCamelCase     :			Optional[int]    =    UNIT_SYMBOL.get(lowerCamelCase_							,    lowerCamelCase_		)

				if from_sanitized not in METRIC_CONVERSION:
								_lowerCamelCase     :			Any    =    (
								    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:
								_lowerCamelCase     :			Optional[int]    =    (
								    f'''Invalid \'to_type\' value: {to_type!r}.\n'''
								    f'''Conversion abbreviations are: {', '.join(lowerCamelCase_		)}'''
								)
								raise ValueError(lowerCamelCase_		)
				_lowerCamelCase     :			List[str]    =    METRIC_CONVERSION[from_sanitized]
				_lowerCamelCase     :			Dict    =    METRIC_CONVERSION[to_sanitized]
				_lowerCamelCase     :			List[Any]    =    1

				if from_exponent > to_exponent:
								_lowerCamelCase     :			Tuple    =    from_exponent - to_exponent
				else:
								_lowerCamelCase     :			Tuple    =    -(to_exponent - from_exponent)

				return value * pow(10							,    lowerCamelCase_		)


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

			testmod()







def   a			(						lowerCamelCase_				):






				'''simple docstring'''
				lowercase__    =			[1]

				lowercase__ ,						lowercase__ ,						lowercase__    =			0, 0, 0
				lowercase__    =			ugly_nums[ia] * 2
				lowercase__    =			ugly_nums[ia] * 3
				lowercase__    =			ugly_nums[ia] * 5

				for _ in range(1		,   lowerCamelCase_				):
								lowercase__    =			min(lowerCamelCase_		,   lowerCamelCase_		,   lowerCamelCase_				)
								ugly_nums.append(lowerCamelCase_				)
								if next_num == next_a:
												ia += 1
												lowercase__    =			ugly_nums[ia] * 2
								if next_num == next_a:
												ia += 1
												lowercase__    =			ugly_nums[ia] * 3
								if next_num == next_a:
												ia += 1
												lowercase__    =			ugly_nums[ia] * 5
				return ugly_nums[-1]


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

							testmod(verbose=True)
							print(F"{ugly_numbers(2_00) = }")




