


'''simple docstring'''







from itertools import count
from math import asin, pi, sqrt







def _UpperCamelCase	(					__A   )							->		float:


      '''simple docstring'''



      return (
          (1 - 2 * point) * sqrt(point - point**2   ) + 2 * point + asin(sqrt(1 - point   )   )
      ) / 4







def _UpperCamelCase	(					__A   )							->		float:


      '''simple docstring'''



      UpperCamelCase__  =    (circles_number + 1 - sqrt(2 * circles_number   )) / (
          2 * (circles_number**2 + 1)
      )
      UpperCamelCase__  =    circles_number * intersection_y

      UpperCamelCase__  =    intersection_x * intersection_y / 2
      UpperCamelCase__  =    circle_bottom_arc_integral(
          1 / 2   ) - circle_bottom_arc_integral(__A   )

      return triangle_area + concave_region_area







def _UpperCamelCase	(					__A = 1 / 1000   )							->		int:


      '''simple docstring'''



      UpperCamelCase__  =    (1 - pi / 4) / 4

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

      return -1


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










'''simple docstring'''







from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tokenizers_available, is_torch_available


a__  : Any				=	{
    'configuration_codegen': ['CODEGEN_PRETRAINED_CONFIG_ARCHIVE_MAP', 'CodeGenConfig', 'CodeGenOnnxConfig'],
    'tokenization_codegen': ['CodeGenTokenizer'],
}

try:
  if not is_tokenizers_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  a__  : Tuple				=	['CodeGenTokenizerFast']

try:
  if not is_torch_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  a__  : Dict				=	[
      'CODEGEN_PRETRAINED_MODEL_ARCHIVE_LIST',
      'CodeGenForCausalLM',
      'CodeGenModel',
      'CodeGenPreTrainedModel',
  ]

if TYPE_CHECKING:
  from .configuration_codegen import CODEGEN_PRETRAINED_CONFIG_ARCHIVE_MAP, CodeGenConfig, CodeGenOnnxConfig
  from .tokenization_codegen import CodeGenTokenizer

  try:
    if not is_tokenizers_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .tokenization_codegen_fast import CodeGenTokenizerFast

  try:
    if not is_torch_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_codegen import (
        CODEGEN_PRETRAINED_MODEL_ARCHIVE_LIST,
        CodeGenForCausalLM,
        CodeGenModel,
        CodeGenPreTrainedModel,
    )

else:
  import sys

  a__  : Optional[int]				=	_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)





