




from typing import TYPE_CHECKING

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


SCREAMING_SNAKE_CASE_    :       Optional[Any]       =							{
    '''configuration_segformer''': ['''SEGFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''SegformerConfig''', '''SegformerOnnxConfig''']
}

try:
 if not is_vision_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 SCREAMING_SNAKE_CASE_    :       int       =							['''SegformerFeatureExtractor''']
 SCREAMING_SNAKE_CASE_    :       Any       =							['''SegformerImageProcessor''']

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 SCREAMING_SNAKE_CASE_    :       Optional[Any]       =							[
     '''SEGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST''',
     '''SegformerDecodeHead''',
     '''SegformerForImageClassification''',
     '''SegformerForSemanticSegmentation''',
     '''SegformerLayer''',
     '''SegformerModel''',
     '''SegformerPreTrainedModel''',
 ]

try:
 if not is_tf_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 SCREAMING_SNAKE_CASE_    :       Union[str, Any]       =							[
     '''TF_SEGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST''',
     '''TFSegformerDecodeHead''',
     '''TFSegformerForImageClassification''',
     '''TFSegformerForSemanticSegmentation''',
     '''TFSegformerModel''',
     '''TFSegformerPreTrainedModel''',
 ]


if TYPE_CHECKING:
 from .configuration_segformer import SEGFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP, SegformerConfig, SegformerOnnxConfig

 try:
  if not is_vision_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .feature_extraction_segformer import SegformerFeatureExtractor
  from .image_processing_segformer import SegformerImageProcessor

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_segformer import (
      SEGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
      SegformerDecodeHead,
      SegformerForImageClassification,
      SegformerForSemanticSegmentation,
      SegformerLayer,
      SegformerModel,
      SegformerPreTrainedModel,
  )
 try:
  if not is_tf_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_tf_segformer import (
      TF_SEGFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
      TFSegformerDecodeHead,
      TFSegformerForImageClassification,
      TFSegformerForSemanticSegmentation,
      TFSegformerModel,
      TFSegformerPreTrainedModel,
  )

else:
 import sys

 SCREAMING_SNAKE_CASE_    :       List[str]       =							_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)












from itertools import count
from math import asin, pi, sqrt
def 							__lowerCAmelCase			(UpperCAmelCase_		):
    return (
        (1 - 2 * point) * sqrt(point - point**2		) + 2 * point + asin(sqrt(1 - point		)		)
    ) / 4
def 							__lowerCAmelCase			(UpperCAmelCase_		):
    a__  			=							(circles_number + 1 - sqrt(2 * circles_number		)) / (
        2 * (circles_number**2 + 1)
    )
    a__  			=							circles_number * intersection_y

    a__  			=							intersection_x * intersection_y / 2
    a__  			=							circle_bottom_arc_integral(
        1 / 2		) - circle_bottom_arc_integral(UpperCAmelCase_		)

    return triangle_area + concave_region_area
def 							__lowerCAmelCase			(UpperCAmelCase_ = 1 / 1_000		):
    a__  			=							(1 - pi / 4) / 4

    for n in count(1		):
        if concave_triangle_area(UpperCAmelCase_		) / l_section_area < fraction:
            return n

    return -1


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






