



"""simple docstring"""





from __future__ import annotations

from math import ceil, floor, sqrt
def   a__      ( lowerCAmelCase__ = 2000000 ):
      UpperCAmelCase_     					=				[0]
      UpperCAmelCase_     					=				42

      for idx in range(1      ,     ceil(sqrt(target * 2 ) * 1.1 ) ):
            triangle_numbers.append(triangle_numbers[-1] + idx )

      # we want this to be as close as possible to target
      UpperCAmelCase_     					=				0
      # the area corresponding to the grid that gives the product closest to target
      UpperCAmelCase_     					=				0
      # an estimate of b, using the quadratic formula
      UpperCAmelCase_     					=				42
      # the largest integer less than b_estimate
      UpperCAmelCase_     					=				42
      # the largest integer less than b_estimate
      UpperCAmelCase_     					=				42
      # the triangle number corresponding to b_floor
      UpperCAmelCase_     					=				42
      # the triangle number corresponding to b_ceil
      UpperCAmelCase_     					=				42

      for idx_a, triangle_a in enumerate(triangle_numbers[1:]      ,     1 ):
            UpperCAmelCase_     					=				(-1 + sqrt(1 + 8 * target / triangle_a )) / 2
            UpperCAmelCase_     					=				floor(lowerCAmelCase__ )
            UpperCAmelCase_     					=				ceil(lowerCAmelCase__ )
            UpperCAmelCase_     					=				triangle_numbers[b_floor]
            UpperCAmelCase_     					=				triangle_numbers[b_ceil]

            if abs(target - triangle_b_first_guess * triangle_a ) < abs(
                target - best_product ):
                  UpperCAmelCase_     					=				triangle_b_first_guess * triangle_a
                  UpperCAmelCase_     					=				idx_a * b_floor

            if abs(target - triangle_b_second_guess * triangle_a ) < abs(
                target - best_product ):
                  UpperCAmelCase_     					=				triangle_b_second_guess * triangle_a
                  UpperCAmelCase_     					=				idx_a * b_ceil

      return area


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











# Copyright 2023 The HuggingFace Team. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from typing import TYPE_CHECKING

# rely on isort to merge the imports
from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available, is_vision_available


__UpperCamelCase:	List[Any] = {
    """configuration_efficientnet""": [
        """EFFICIENTNET_PRETRAINED_CONFIG_ARCHIVE_MAP""",
        """EfficientNetConfig""",
        """EfficientNetOnnxConfig""",
    ]
}

try:
			if not is_vision_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			__UpperCamelCase:	Dict = ["""EfficientNetImageProcessor"""]

try:
			if not is_torch_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			__UpperCamelCase:	Dict = [
			    """EFFICIENTNET_PRETRAINED_MODEL_ARCHIVE_LIST""",
			    """EfficientNetForImageClassification""",
			    """EfficientNetModel""",
			    """EfficientNetPreTrainedModel""",
			]

if TYPE_CHECKING:
			from .configuration_efficientnet import (
			    EFFICIENTNET_PRETRAINED_CONFIG_ARCHIVE_MAP,
			    EfficientNetConfig,
			    EfficientNetOnnxConfig,
			)

			try:
						if not is_vision_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .image_processing_efficientnet import EfficientNetImageProcessor

			try:
						if not is_torch_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_efficientnet import (
						    EFFICIENTNET_PRETRAINED_MODEL_ARCHIVE_LIST,
						    EfficientNetForImageClassification,
						    EfficientNetModel,
						    EfficientNetPreTrainedModel,
						)

else:
			import sys

			__UpperCamelCase:	List[str] = _LazyModule(__name__, globals()["""__file__"""], _import_structure)


