





"""simple docstring"""
import math



def 					__lowerCamelCase       (							a_					:		int							)      ->				int:

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

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

            __SCREAMING_SNAKE_CASE       :str		    =  [3, 5]
            __SCREAMING_SNAKE_CASE       :Any		    =  2
            __SCREAMING_SNAKE_CASE       :Tuple		    =  3
            for block in range(1			,       a_							):
                  for _ in range(a_							):
                        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(1_1):
    lowerCamelCase_       =		0
    try:
      lowerCamelCase_       =		proth(number)
    except ValueError:
      print(f'ValueError: there is no {number}th Proth number')
      continue

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






"""simple docstring"""
from __future__ import annotations

import math



def 					__lowerCamelCase       (							a_					:		int			,       a_					:		int			,       a_					:		bool			,       a_					:		list[int]			,       a_					:		float							)      ->				int:

      if depth < 0:
            raise ValueError('''Depth cannot be less than 0'''							)

      if len(a_							) == 0:
            raise ValueError('''Scores cannot be empty'''							)

      if depth == height:
            return scores[node_index]

      if is_max:
            return max(
                minimax(depth + 1			,       node_index * 2			,       a_			,       a_			,       a_							)			,       minimax(depth + 1			,       node_index * 2 + 1			,       a_			,       a_			,       a_							)			,       )

      return min(
          minimax(depth + 1			,       node_index * 2			,       a_			,       a_			,       a_							)			,       minimax(depth + 1			,       node_index * 2 + 1			,       a_			,       a_			,       a_							)			,       )



def 					__lowerCamelCase       (							)      ->				None:
      __SCREAMING_SNAKE_CASE       :Dict		    =  [90, 23, 6, 33, 21, 65, 1_23, 3_44_23]
      __SCREAMING_SNAKE_CASE       :Optional[int]		    =  math.log(len(a_							)			,       2							)
      print('''Optimal value : '''			,       end=''''''							)
      print(minimax(0			,       0			,       a_			,       a_			,       a_							)							)


if __name__ == "__main__":
  import doctest

  doctest.testmod()
  main()