

def 			A_      (    _UpperCAmelCase = 1_00_00_00    ):
						SCREAMING_SNAKE_CASE_: Dict  		=       set(range(3				,	_UpperCamelCase				,	2    )    )
						primes.add(2    )
						for p in range(3				,	_UpperCamelCase				,	2    ):
												if p not in primes:
																		continue
												primes.difference_update(set(range(p * p				,	_UpperCamelCase				,	_UpperCamelCase    )    )    )

						SCREAMING_SNAKE_CASE_: Dict  		=       [float(_UpperCamelCase    ) for n in range(limit + 1    )]

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

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


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









'''simple docstring'''
class 							A__    :





  def __init__(		self      :	Union[str, Any]							,					_a      :	int )	->    None:





       '''simple docstring'''






       _SCREAMING_SNAKE_CASE							    =size
       _SCREAMING_SNAKE_CASE							    =[0] * size
       _SCREAMING_SNAKE_CASE							    =[0] * size





  @staticmethod
  def 						A  (		_a      :	int )	->    int:





       '''simple docstring'''






       return index | (index + 1)





  @staticmethod
  def 						A  (		_a      :	int )	->    int:





       '''simple docstring'''






       return (index & (index + 1)) - 1





  def 						A  (		self      :	Tuple							,					_a      :	int							,					_a      :	int )	->    None:





       '''simple docstring'''






       _SCREAMING_SNAKE_CASE							    =value
       while index < self.size:
            _SCREAMING_SNAKE_CASE							    =self.get_prev(_a ) + 1
            if current_left_border == index:
                 _SCREAMING_SNAKE_CASE							    =value
            else:
                 _SCREAMING_SNAKE_CASE							    =max(_a							,					_a							,					_a )
            _SCREAMING_SNAKE_CASE							    =self.get_next(_a )





  def 						A  (		self      :	int							,					_a      :	int							,					_a      :	int )	->    int:





       '''simple docstring'''






       right -= 1  # Because of right is exclusive
       _SCREAMING_SNAKE_CASE							    =0
       while left <= right:
            _SCREAMING_SNAKE_CASE							    =self.get_prev(_a )
            if left <= current_left:
                 _SCREAMING_SNAKE_CASE							    =max(_a							,					self.tree[right] )
                 _SCREAMING_SNAKE_CASE							    =current_left
            else:
                 _SCREAMING_SNAKE_CASE							    =max(_a							,					self.arr[right] )
                 right -= 1
       return result


if __name__ == "__main__":
     import doctest

     doctest.testmod()
