





from dataclasses import dataclass, field
from typing import ClassVar, Dict

from ..features import Features, Sequence, Value
from .base import TaskTemplate







@dataclass(frozen=__lowerCamelCase      )
class    __snake_case	(							__lowerCamelCase      ):





       '''simple docstring'''







       lowerCAmelCase__						=					field(default="""question-answering-extractive"""       ,      metadata={"""include_in_asdict_even_if_is_default""": True}      )
       lowerCAmelCase__						=					Features({"""question""": Value("""string"""      ), """context""": Value("""string"""      )}      )
       lowerCAmelCase__						=					Features(
           {
               """answers""": Sequence(
                   {
                       """text""": Value("""string"""      ),
                       """answer_start""": Value("""int32"""      ),
                   }      )
           }      )
       lowerCAmelCase__						=					"""question"""
       lowerCAmelCase__						=					"""context"""
       lowerCAmelCase__						=					"""answers"""




       @property
       def 							UpperCAmelCase__			(  self			:   Optional[Any]		):
         return {self.question_column: "question", self.context_column: "context", self.answers_column: "answers"}













import math







def       A__							(   SCREAMING_SNAKE_CASE__)       ->   int:

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

  if number < 1:
    __snake_case:						Optional[int]			  =						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:						List[Any]			  =						int(math.log(number // 3 , 2)) + 2

    __snake_case:						str			  =						[3, 5]
    __snake_case:						int			  =						2
    __snake_case:						List[str]			  =						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	:       Optional[int]    	=							0
            try:
                  __UpperCAmelCase	:       int    	=							proth(number)
            except ValueError:
                  print(f'ValueError: there is no {number}th Proth number')
                  continue

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






