


'''simple docstring'''



import math



def      UpperCAmelCase__   (      UpperCAmelCase_       :							int				)	->						bool:

     if 1 < number < 4:
          # 2 and 3 are primes
          return True
     elif number < 2 or number % 2 == 0 or number % 3 == 0:
          # Negatives, 0, 1, all even numbers, all multiples of 3 are not primes
          return False

     # All primes number are in format of 6k +/- 1
     for i in range(5 ,       int(math.sqrt(UpperCAmelCase_				) + 1				) ,       6				):
          if number % i == 0 or number % (i + 2) == 0:
               return False
     return True



def      UpperCAmelCase__   (      UpperCAmelCase_       :							int = 1_00_01				)	->						int:

     try:
          __lowerCamelCase  :      List[str]														=						int(UpperCAmelCase_				)
     except (TypeError, ValueError):
          raise TypeError('Parameter nth must be int or castable to int.'				) from None
     if nth <= 0:
          raise ValueError('Parameter nth must be greater than or equal to one.'				)
     __lowerCamelCase  :      list[int]														=						[]
     __lowerCamelCase  :      int														=						2
     while len(UpperCAmelCase_				) < nth:
          if is_prime(UpperCAmelCase_				):
               primes.append(UpperCAmelCase_				)
               num += 1
          else:
               num += 1
     return primes[len(UpperCAmelCase_				) - 1]


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










'''simple docstring'''



from collections import defaultdict
from math import gcd



def      UpperCAmelCase__   (      UpperCAmelCase_       :							int = 1_50_00_00				)	->						int:
     __lowerCamelCase  :      defaultdict														=						defaultdict(UpperCAmelCase_				)
     __lowerCamelCase  :      Any														=						2
     while 2 * euclid_m * (euclid_m + 1) <= limit:
          for euclid_n in range((euclid_m % 2) + 1 ,       UpperCAmelCase_ ,       2				):
               if gcd(UpperCAmelCase_ ,       UpperCAmelCase_				) > 1:
                    continue
               __lowerCamelCase  :      Any														=						2 * euclid_m * (euclid_m + euclid_n)
               for perimeter in range(UpperCAmelCase_ ,       limit + 1 ,       UpperCAmelCase_				):
                    frequencies[perimeter] += 1
          euclid_m += 1
     return sum(1 for frequency in frequencies.values() if frequency == 1				)


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






