


import math






def  __lowerCAmelCase					(SCREAMING_SNAKE_CASE      )->						int:




      """simple docstring"""

      if not isinstance(SCREAMING_SNAKE_CASE      ,      SCREAMING_SNAKE_CASE      ):
            snake_case_ =   f'''Input value of [number={number}] must be an integer'''
            raise TypeError(SCREAMING_SNAKE_CASE      )

      if number < 1:
            snake_case_ =   f'''Input value of [number={number}] must be > 0'''
            raise ValueError(SCREAMING_SNAKE_CASE      )
      elif number == 1:
            return 3
      elif number == 2:
            return 5
      else:
            snake_case_ =   int(math.log(number // 3      ,      2      )      ) + 2

            snake_case_ =   [3, 5]
            snake_case_ =   2
            snake_case_ =   3
            for block in range(1      ,      SCREAMING_SNAKE_CASE      ):
                  for _ in range(SCREAMING_SNAKE_CASE      ):
                        proth_list.append(2 ** (block + 1) + proth_list[proth_index - 1]      )
                        proth_index += 1
                  increment *= 2

      return proth_list[number - 1]


if __name__ == "__main__":
   import doctest

   doctest.testmod()

   for number in range(11):
      UpperCAmelCase    =					0
      try:
         UpperCAmelCase    =					proth(number)
      except ValueError:
         print(f'''ValueError: there is no {number}th Proth number''')
         continue

      print(f'''The {number}th Proth number: {value}''')



def  __lowerCAmelCase					(SCREAMING_SNAKE_CASE = 6008_5147_5143      )->						int:




      """simple docstring"""

      try:
            snake_case_ =   int(SCREAMING_SNAKE_CASE      )
      except (TypeError, ValueError):
            raise TypeError('''Parameter n must be int or castable to int.'''      )
      if n <= 0:
            raise ValueError('''Parameter n must be greater than or equal to one.'''      )
      snake_case_ =   1
      snake_case_ =   2
      while i * i <= n:
            while n % i == 0:
                  snake_case_ =   i
                  n //= i
            i += 1
      if n > 1:
            snake_case_ =   n
      return int(SCREAMING_SNAKE_CASE      )


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