





from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


UpperCamelCase__      ={
    'configuration_electra': ['ELECTRA_PRETRAINED_CONFIG_ARCHIVE_MAP', 'ElectraConfig', 'ElectraOnnxConfig'],
    'tokenization_electra': ['ElectraTokenizer'],
}

try:
       if not is_tokenizers_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       UpperCamelCase__      =['ElectraTokenizerFast']

try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       UpperCamelCase__      =[
           'ELECTRA_PRETRAINED_MODEL_ARCHIVE_LIST',
           'ElectraForCausalLM',
           'ElectraForMaskedLM',
           'ElectraForMultipleChoice',
           'ElectraForPreTraining',
           'ElectraForQuestionAnswering',
           'ElectraForSequenceClassification',
           'ElectraForTokenClassification',
           'ElectraModel',
           'ElectraPreTrainedModel',
           'load_tf_weights_in_electra',
       ]

try:
       if not is_tf_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       UpperCamelCase__      =[
           'TF_ELECTRA_PRETRAINED_MODEL_ARCHIVE_LIST',
           'TFElectraForMaskedLM',
           'TFElectraForMultipleChoice',
           'TFElectraForPreTraining',
           'TFElectraForQuestionAnswering',
           'TFElectraForSequenceClassification',
           'TFElectraForTokenClassification',
           'TFElectraModel',
           'TFElectraPreTrainedModel',
       ]

try:
       if not is_flax_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       UpperCamelCase__      =[
           'FlaxElectraForCausalLM',
           'FlaxElectraForMaskedLM',
           'FlaxElectraForMultipleChoice',
           'FlaxElectraForPreTraining',
           'FlaxElectraForQuestionAnswering',
           'FlaxElectraForSequenceClassification',
           'FlaxElectraForTokenClassification',
           'FlaxElectraModel',
           'FlaxElectraPreTrainedModel',
       ]


if TYPE_CHECKING:
       from .configuration_electra import ELECTRA_PRETRAINED_CONFIG_ARCHIVE_MAP, ElectraConfig, ElectraOnnxConfig
       from .tokenization_electra import ElectraTokenizer

       try:
              if not is_tokenizers_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .tokenization_electra_fast import ElectraTokenizerFast

       try:
              if not is_torch_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_electra import (
                  ELECTRA_PRETRAINED_MODEL_ARCHIVE_LIST,
                  ElectraForCausalLM,
                  ElectraForMaskedLM,
                  ElectraForMultipleChoice,
                  ElectraForPreTraining,
                  ElectraForQuestionAnswering,
                  ElectraForSequenceClassification,
                  ElectraForTokenClassification,
                  ElectraModel,
                  ElectraPreTrainedModel,
                  load_tf_weights_in_electra,
              )

       try:
              if not is_tf_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_tf_electra import (
                  TF_ELECTRA_PRETRAINED_MODEL_ARCHIVE_LIST,
                  TFElectraForMaskedLM,
                  TFElectraForMultipleChoice,
                  TFElectraForPreTraining,
                  TFElectraForQuestionAnswering,
                  TFElectraForSequenceClassification,
                  TFElectraForTokenClassification,
                  TFElectraModel,
                  TFElectraPreTrainedModel,
              )

       try:
              if not is_flax_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_flax_electra import (
                  FlaxElectraForCausalLM,
                  FlaxElectraForMaskedLM,
                  FlaxElectraForMultipleChoice,
                  FlaxElectraForPreTraining,
                  FlaxElectraForQuestionAnswering,
                  FlaxElectraForSequenceClassification,
                  FlaxElectraForTokenClassification,
                  FlaxElectraModel,
                  FlaxElectraPreTrainedModel,
              )

else:
       import sys

       UpperCamelCase__      =_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)






def     lowerCamelCase__			(__lowerCamelCase = 10**9	):
     _SCREAMING_SNAKE_CASE       :	List[str]						    =							1
     _SCREAMING_SNAKE_CASE       :	Any						    =							2

     _SCREAMING_SNAKE_CASE       :	List[Any]						    =							0
     _SCREAMING_SNAKE_CASE       :	Dict						    =							0
     _SCREAMING_SNAKE_CASE       :	Union[str, Any]						    =							0
     while perimeter <= max_perimeter:
          perimeters_sum += perimeter

          prev_value += 2 * value
          value += prev_value

          _SCREAMING_SNAKE_CASE       :	Tuple						    =							2 * value + 2 if i % 2 == 0 else 2 * value - 2
          i += 1

     return perimeters_sum


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