


def 							_lowerCAmelCase (  _a   :					int = 1_00_00_00			)	->			int:
     lowerCAmelCase_					:       Any    =		[i - 1 for i in range(limit + 1			)]

     for i in range(2					,   limit + 1			):
          if phi[i] == i - 1:
               for j in range(2 * i					,   limit + 1					,   _a			):
                    phi[j] -= phi[j] // i

     return sum(phi[2 : limit + 1]			)


if __name__ == "__main__":
      print(solution())







from __future__ import annotations






def 							_lowerCAmelCase (  _a   :					list[int]			)	->			list[int]:  # This function is recursive
     lowerCAmelCase_					:       List[Any]    =		len(_a			)
     # If the array contains only one element, we return it (it's the stop condition of
     # recursion)
     if array_length <= 1:
          return array
          # Else
     lowerCAmelCase_					:       Union[str, Any]    =		array[0]
     lowerCAmelCase_					:       str    =		False
     lowerCAmelCase_					:       Optional[int]    =		1
     lowerCAmelCase_					:       list[int]    =		[]
     while not is_found and i < array_length:
          if array[i] < pivot:
               lowerCAmelCase_					:       Optional[Any]    =		True
               lowerCAmelCase_					:       Tuple    =		[element for element in array[i:] if element >= array[i]]
               lowerCAmelCase_					:       Any    =		longest_subsequence(_a			)
               if len(_a			) > len(_a			):
                    lowerCAmelCase_					:       List[Any]    =		temp_array
          else:
               i += 1

     lowerCAmelCase_					:       Tuple    =		[element for element in array[1:] if element >= pivot]
     lowerCAmelCase_					:       List[Any]    =		[pivot, *longest_subsequence(_a			)]
     if len(_a			) > len(_a			):
          return temp_array
     else:
          return longest_subseq


if __name__ == "__main__":
      import doctest

      doctest.testmod()
