





'''simple docstring'''





from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_tf_available,
    is_torch_available,
    is_vision_available,
)


UpperCamelCase__      ={
    '''configuration_blip''': [
        '''BLIP_PRETRAINED_CONFIG_ARCHIVE_MAP''',
        '''BlipConfig''',
        '''BlipTextConfig''',
        '''BlipVisionConfig''',
    ],
    '''processing_blip''': ['''BlipProcessor'''],
}

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


try:
       if not is_torch_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       UpperCamelCase__      =[
           '''BLIP_PRETRAINED_MODEL_ARCHIVE_LIST''',
           '''BlipModel''',
           '''BlipPreTrainedModel''',
           '''BlipForConditionalGeneration''',
           '''BlipForQuestionAnswering''',
           '''BlipVisionModel''',
           '''BlipTextModel''',
           '''BlipForImageTextRetrieval''',
       ]

try:
       if not is_tf_available():
              raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
       pass
else:
       UpperCamelCase__      =[
           '''TF_BLIP_PRETRAINED_MODEL_ARCHIVE_LIST''',
           '''TFBlipModel''',
           '''TFBlipPreTrainedModel''',
           '''TFBlipForConditionalGeneration''',
           '''TFBlipForQuestionAnswering''',
           '''TFBlipVisionModel''',
           '''TFBlipTextModel''',
           '''TFBlipForImageTextRetrieval''',
       ]

if TYPE_CHECKING:
       from .configuration_blip import BLIP_PRETRAINED_CONFIG_ARCHIVE_MAP, BlipConfig, BlipTextConfig, BlipVisionConfig
       from .processing_blip import BlipProcessor

       try:
              if not is_vision_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .image_processing_blip import BlipImageProcessor

       try:
              if not is_torch_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_blip import (
                  BLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
                  BlipForConditionalGeneration,
                  BlipForImageTextRetrieval,
                  BlipForQuestionAnswering,
                  BlipModel,
                  BlipPreTrainedModel,
                  BlipTextModel,
                  BlipVisionModel,
              )

       try:
              if not is_tf_available():
                     raise OptionalDependencyNotAvailable()
       except OptionalDependencyNotAvailable:
              pass
       else:
              from .modeling_tf_blip import (
                  TF_BLIP_PRETRAINED_MODEL_ARCHIVE_LIST,
                  TFBlipForConditionalGeneration,
                  TFBlipForImageTextRetrieval,
                  TFBlipForQuestionAnswering,
                  TFBlipModel,
                  TFBlipPreTrainedModel,
                  TFBlipTextModel,
                  TFBlipVisionModel,
              )

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() = }")