






'''simple docstring'''



from collections import namedtuple

__UpperCamelCase   :							Optional[int]         =   namedtuple("""from_to""", """from_ to""")

__UpperCamelCase   :							int         =   {
    """cubicmeter""": from_to(1, 1),
    """litre""": from_to(0.001, 1000),
    """kilolitre""": from_to(1, 1),
    """gallon""": from_to(0.0_0454, 264.172),
    """cubicyard""": from_to(0.7_6455, 1.3_0795),
    """cubicfoot""": from_to(0.028, 35.3147),
    """cup""": from_to(0.0_0023_6588, 4226.75),
}



def  __UpperCAmelCase						(					SCREAMING_SNAKE_CASE__:						float,       SCREAMING_SNAKE_CASE__:						str,       SCREAMING_SNAKE_CASE__:						str     )	->      float:

   """simple docstring"""
   if from_type not in METRIC_CONVERSION:
      raise ValueError(
          f"""Invalid 'from_type' value: {from_type!r}  Supported values are:\n"""
          + ', '.join(SCREAMING_SNAKE_CASE__     )     )
   if to_type not in METRIC_CONVERSION:
      raise ValueError(
          f"""Invalid 'to_type' value: {to_type!r}.  Supported values are:\n"""
          + ', '.join(SCREAMING_SNAKE_CASE__     )     )
   return value * METRIC_CONVERSION[from_type].from_ * METRIC_CONVERSION[to_type].to


if __name__ == "__main__":
 import doctest

 doctest.testmod()







'''simple docstring'''



from math import isqrt



def  __UpperCAmelCase						(					SCREAMING_SNAKE_CASE__:						int     )	->      bool:

   """simple docstring"""
   return all(number % divisor != 0 for divisor in range(2,       isqrt(SCREAMING_SNAKE_CASE__     ) + 1     )     )



def  __UpperCAmelCase						(					SCREAMING_SNAKE_CASE__:						int = 10**6     )	->      int:

   """simple docstring"""
   __a					  =     0
   __a					  =     1
   __a					  =     7
   while prime_candidate < max_prime:
      primes_count += is_prime(SCREAMING_SNAKE_CASE__     )

      cube_index += 1
      prime_candidate += 6 * cube_index

   return primes_count


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