
__lowerCamelCase							= {
    """kilogram""": 1,
    """gram""": pow(10, 3),
    """milligram""": pow(10, 6),
    """metric-ton""": pow(10, -3),
    """long-ton""": 0.00_0984_2073,
    """short-ton""": 0.00_1102_3122,
    """pound""": 2.20_4624_4202,
    """stone""": 0.15_7473_1728,
    """ounce""": 35.2_7399_0723,
    """carrat""": 50_00,
    """atomic-mass-unit""": 6.022_136_652e26,
}

__lowerCamelCase							= {
    """kilogram""": 1,
    """gram""": pow(10, -3),
    """milligram""": pow(10, -6),
    """metric-ton""": pow(10, 3),
    """long-ton""": 1016.0_4608,
    """short-ton""": 907.184,
    """pound""": 0.45_3592,
    """stone""": 6.3_5029,
    """ounce""": 0.028_3495,
    """carrat""": 0.0002,
    """atomic-mass-unit""": 1.660_540_199e-27,
}


def     UpperCamelCase      (					__lowerCamelCase  :				str       ,      __lowerCamelCase  :				str       ,      __lowerCamelCase  :				float					):
							if to_type not in KILOGRAM_CHART or from_type not in WEIGHT_TYPE_CHART:
														snake_case :     Optional[Any]           =   (
														    f"""Invalid 'from_type' or 'to_type' value: {from_type!r}, {to_type!r}\n"""
														    f"""Supported values are: {', '.join(__lowerCamelCase					)}"""
														)
														raise ValueError(__lowerCamelCase					)
							return value * KILOGRAM_CHART[to_type] * WEIGHT_TYPE_CHART[from_type]


if __name__ == "__main__":
			import doctest

			doctest.testmod()







def     UpperCamelCase      (					__lowerCamelCase  :				list       ,      __lowerCamelCase  :				list       ,      __lowerCamelCase  :				list       ,      __lowerCamelCase  :				int       ,      __lowerCamelCase  :				int					):
       if target == 0:
              answer.append(path.copy()					)
       else:
              for index in range(__lowerCamelCase       ,      len(__lowerCamelCase					)					):
                     if target >= candidates[index]:
                            path.append(candidates[index]					)
                            backtrack(__lowerCamelCase       ,      __lowerCamelCase       ,      __lowerCamelCase       ,      target - candidates[index]       ,      __lowerCamelCase					)
                            path.pop(len(__lowerCamelCase					) - 1					)


def     UpperCamelCase      (					__lowerCamelCase  :				list       ,      __lowerCamelCase  :				int					):
       snake_case :     Optional[Any]           =   []  # type: list[int]
       snake_case :     Tuple           =   []  # type: list[int]
       backtrack(__lowerCamelCase       ,      __lowerCamelCase       ,      __lowerCamelCase       ,      __lowerCamelCase       ,      0					)
       return answer


def     UpperCamelCase      (					):
       print(combination_sum([-8, 2.3, 0]       ,      1					)					)


if __name__ == "__main__":
   import doctest

   doctest.testmod()
   main()





