




def 							_UpperCAmelCase  (UpperCamelCase_ : int = 1000000       ):
				'''simple docstring'''
				_lowerCAmelCase    :    Tuple										=      set(range(3      ,    snake_case__      ,    2       )       )
				primes.add(2       )
				for p in range(3      ,    snake_case__      ,    2       ):
								if p not in primes:
												continue
								primes.difference_update(set(range(p * p      ,    snake_case__      ,    snake_case__       )       )       )

				_lowerCAmelCase    :    Union[str, Any]										=      [float(snake_case__       ) for n in range(limit + 1       )]

				for p in primes:
								for n in range(snake_case__      ,    limit + 1      ,    snake_case__       ):
												phi[n] *= 1 - 1 / p

				return int(sum(phi[2:]       )       )


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











def 							_UpperCAmelCase  (UpperCamelCase_ : str      ,    UpperCamelCase_ : bool = False       ):
				'''simple docstring'''

				if not isinstance(UpperCamelCase_      ,    UpperCamelCase_       ):
								_lowerCAmelCase    :    Tuple										=      F"Expected string as input, found {type(UpperCamelCase_       )}"
								raise ValueError(UpperCamelCase_       )
				if not isinstance(UpperCamelCase_      ,    UpperCamelCase_       ):
								_lowerCAmelCase    :    Optional[Any]										=      F"Expected boolean as use_pascal parameter, found {type(UpperCamelCase_       )}"
								raise ValueError(UpperCamelCase_       )

				_lowerCAmelCase    :    Any										=      input_str.split("""_"""       )

				_lowerCAmelCase    :    str										=      0 if use_pascal else 1

				_lowerCAmelCase    :    Any										=      words[start_index:]

				_lowerCAmelCase    :    List[str]										=      [word[0].upper() + word[1:] for word in words_to_capitalize]

				_lowerCAmelCase    :    Any										=      """""" if use_pascal else words[0]

				return "".join([initial_word, *capitalized_words]       )


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

	testmod()

