





'''simple docstring'''


import math


def 	__a(SCREAMING_SNAKE_CASE_  :					int    ):



    '''simple docstring'''





    if not isinstance(SCREAMING_SNAKE_CASE_		,       SCREAMING_SNAKE_CASE_    ):
        _lowerCAmelCase				=      F'''Input value of [number={number}] must be an integer'''
        raise TypeError(SCREAMING_SNAKE_CASE_    )

    if number < 1:
        _lowerCAmelCase				=      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:
        _lowerCAmelCase				=      int(math.log(number // 3		,       2    )    ) + 2

        _lowerCAmelCase				=      [3, 5]
        _lowerCAmelCase				=      2
        _lowerCAmelCase				=      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):
              _SCREAMING_SNAKE_CASE	 =							0
              try:
                     _SCREAMING_SNAKE_CASE	 =							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'''


def 	__a(SCREAMING_SNAKE_CASE_  :					int    ):



    '''simple docstring'''





    if not isinstance(SCREAMING_SNAKE_CASE_		,       SCREAMING_SNAKE_CASE_    ):
        raise TypeError("Input value must be an 'int' type"    )

    _lowerCAmelCase				=      0
    while number:
        position += 1
        number >>= 1

    return position


if __name__ == "__main__":
       import doctest

       doctest.testmod()


