



def 		a__      (		_UpperCamelCase      :			int = 1_00_00_00				):
   __lowerCamelCase    				=     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				)				)				)

   __lowerCamelCase    				=     [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() = }")











def 		a__      (		_UpperCamelCase      :			list[int]				):
   if not numbers:
      return 0

   if not isinstance(_UpperCamelCase			,(list, tuple)				) or not all(
       isinstance(_UpperCamelCase			,_UpperCamelCase				) for number in numbers				):
      raise ValueError('''numbers must be an iterable of integers'''				)

   __lowerCamelCase    				=     __lowerCamelCase    				=     __lowerCamelCase    				=     numbers[0]

   for i in range(1			,len(_UpperCamelCase				)				):
      # update the maximum and minimum subarray products
      __lowerCamelCase    				=     numbers[i]
      if number < 0:
         __lowerCamelCase				,__lowerCamelCase    				=     min_till_now, max_till_now
      __lowerCamelCase    				=     max(_UpperCamelCase			,max_till_now * number				)
      __lowerCamelCase    				=     min(_UpperCamelCase			,min_till_now * number				)

      # update the maximum product found till now
      __lowerCamelCase    				=     max(_UpperCamelCase			,_UpperCamelCase				)

   return max_prod






