


'''simple docstring'''



__UpperCAmelCase      :dict[str, float]			    =       {
    "km/h": 1.0,
    "m/s": 3.6,
    "mph": 1.60_9344,
    "knot": 1.852,
}

__UpperCAmelCase      :dict[str, float]			    =       {
    "km/h": 1.0,
    "m/s": 0.2_7777_7778,
    "mph": 0.6_2137_1192,
    "knot": 0.5_3995_6803,
}




def      _a     (						_lowercase :     float      , _lowercase :     str      , _lowercase :     str  ):





     '''simple docstring'''






     if unit_to not in speed_chart or unit_from not in speed_chart_inverse:
          __UpperCAmelCase     :			Dict  							=      (
              F'Incorrect \'from_type\' or \'to_type\' value: {unit_from!r}, {unit_to!r}\n'
              F'Valid values are: {", ".join(UpperCamelCase__  )}'
          )
          raise ValueError(UpperCamelCase__  )
     return round(speed * speed_chart[unit_from] * speed_chart_inverse[unit_to]      , 3  )


if __name__ == "__main__":
    import doctest

    doctest.testmod()



'''simple docstring'''



def      _a     (						_lowercase :     int = 600851475143  ):





     '''simple docstring'''






     try:
          __UpperCAmelCase     :			str  							=      int(_lowercase  )
     except (TypeError, ValueError):
          raise TypeError('''Parameter n must be int or castable to int.'''  )
     if n <= 0:
          raise ValueError('''Parameter n must be greater than or equal to one.'''  )
     __UpperCAmelCase     :			Dict  							=      1
     __UpperCAmelCase     :			List[str]  							=      2
     while i * i <= n:
          while n % i == 0:
               __UpperCAmelCase     :			int  							=      i
               n //= i
          i += 1
     if n > 1:
          __UpperCAmelCase     :			List[str]  							=      n
     return int(_lowercase  )


if __name__ == "__main__":
      print(f"""{solution() = }""")