'''simple docstring'''

def      UpperCamelCase_						(					snake_case_       :       Union[str, Any] = 1_00_00_00      )					->     Tuple:






 '''simple docstring'''

 __lowerCAmelCase											=						set(range(3						,		lowerCAmelCase_						,		2      )      )
 primes.add(2      )
 for p in range(3						,		lowerCAmelCase_						,		2      ):
  if p not in primes:
   continue
  primes.difference_update(set(range(p * p						,		lowerCAmelCase_						,		lowerCAmelCase_      )      )      )

 __lowerCAmelCase											=						[float(lowerCAmelCase_      ) for n in range(limit + 1      )]

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

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


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










"""simple docstring"""







from collections import defaultdict
from math import ceil, sqrt




def    UpperCAmelCase__       (lowerCAmelCase_ = 100_0000  ,						lowerCAmelCase_ = 10   ):




					'''simple docstring'''


					__SCREAMING_SNAKE_CASE						   =				defaultdict(lowerCAmelCase_   )

					for outer_width in range(3  ,						(t_limit // 4) + 2   ):
										if outer_width * outer_width > t_limit:
															__SCREAMING_SNAKE_CASE						   =				max(
															    ceil(sqrt(outer_width * outer_width - t_limit   )   )  ,						1   )
										else:
															__SCREAMING_SNAKE_CASE						   =				1

										hole_width_lower_bound += (outer_width - hole_width_lower_bound) % 2

										for hole_width in range(lowerCAmelCase_  ,						outer_width - 1  ,						2   ):
															count[outer_width * outer_width - hole_width * hole_width] += 1

					return sum(1 for n in count.values() if 1 <= n <= 10   )


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