
"""simple docstring"""







def        __lowerCAmelCase							():

	for a in range(300						):
		for b in range(a + 1			,    400						):
			for c in range(b + 1			,    500						):
				if (a + b + c) == 1000 and (a**2) + (b**2) == (c**2):
					return a * b * c

	return -1
def        __lowerCAmelCase							():

	for a in range(300						):
		for b in range(400						):
			__lowerCAmelCase     :		List[Any]		     = 1000 - a - b
			if a < b < c and (a**2) + (b**2) == (c**2):
				return a * b * c

	return -1
def        __lowerCAmelCase							():
	import timeit

	print(
	    timeit.timeit('solution()'			,    setup='from __main__ import solution'			,    number=1000						)						)
	print(
	    timeit.timeit(
	        'solution_fast()'			,    setup='from __main__ import solution_fast'			,    number=1000						)						)


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

"""simple docstring"""







from typing import Dict, List, Optional, Union

import numpy as np

from ...image_processing_utils import BaseImageProcessor, BatchFeature, get_size_dict
from ...image_transforms import center_crop, normalize, rescale, resize, to_channel_dimension_format
from ...image_utils import (
    IMAGENET_DEFAULT_MEAN,
    IMAGENET_DEFAULT_STD,
    ChannelDimension,
    ImageInput,
    PILImageResampling,
    get_image_size,
    make_list_of_images,
    to_numpy_array,
    valid_images,
)
from ...utils import TensorType, is_vision_available, logging


if is_vision_available():
							import PIL


lowerCamelCase__     =						logging.get_logger(__name__)




class 					A__			(      _lowerCamelCase):
		A_		:			List[str]							  =      ['pixel_values']

		def __init__( self			,						_SCREAMING_SNAKE_CASE = True			,						_SCREAMING_SNAKE_CASE = None			,						_SCREAMING_SNAKE_CASE = True			,						_SCREAMING_SNAKE_CASE = None			,						_SCREAMING_SNAKE_CASE = PILImageResampling.BICUBIC			,						_SCREAMING_SNAKE_CASE = True			,						_SCREAMING_SNAKE_CASE = 1 / 2_55			,						_SCREAMING_SNAKE_CASE = True			,						_SCREAMING_SNAKE_CASE = None			,						_SCREAMING_SNAKE_CASE = None			,						**_SCREAMING_SNAKE_CASE			,						):
			super().__init__(**_SCREAMING_SNAKE_CASE					)
			__lowerCAmelCase     :		List[str]		     = crop_size if crop_size is not None else {'height': 2_56, 'width': 2_56}
			__lowerCAmelCase     :		int		     = get_size_dict(_SCREAMING_SNAKE_CASE			,						param_name='crop_size'					)
			__lowerCAmelCase     :		List[str]		     = size if size is not None else {'height': 2_24, 'width': 2_24}
			__lowerCAmelCase     :		Optional[int]		     = get_size_dict(_SCREAMING_SNAKE_CASE					)

			__lowerCAmelCase     :		str		     = do_center_crop
			__lowerCAmelCase     :		Optional[int]		     = crop_size
			__lowerCAmelCase     :		Optional[Any]		     = do_resize
			__lowerCAmelCase     :		Optional[int]		     = size
			__lowerCAmelCase     :		List[Any]		     = resample
			__lowerCAmelCase     :		str		     = do_rescale
			__lowerCAmelCase     :		str		     = rescale_factor
			__lowerCAmelCase     :		Union[str, Any]		     = do_normalize
			__lowerCAmelCase     :		str		     = image_mean if image_mean is not None else IMAGENET_DEFAULT_MEAN
			__lowerCAmelCase     :		List[Any]		     = image_std if image_std is not None else IMAGENET_DEFAULT_STD

		def 				__lowerCamelCase				( self			,						_SCREAMING_SNAKE_CASE			,						_SCREAMING_SNAKE_CASE			,						_SCREAMING_SNAKE_CASE = None			,						_SCREAMING_SNAKE_CASE = None			,						**_SCREAMING_SNAKE_CASE			,						):
			__lowerCAmelCase     :		List[str]		     = self.size if size is None else size
			__lowerCAmelCase     :		List[str]		     = get_size_dict(_SCREAMING_SNAKE_CASE					)
			__lowerCAmelCase     :		Optional[Any]		     = get_size_dict(_SCREAMING_SNAKE_CASE			,						param_name='crop_size'					)

			__lowerCAmelCase     ,  __lowerCAmelCase     :		Optional[int]		     = get_image_size(_SCREAMING_SNAKE_CASE					)
			__lowerCAmelCase     :		Tuple		     = min(_SCREAMING_SNAKE_CASE			,						_SCREAMING_SNAKE_CASE					)
			__lowerCAmelCase     :		Optional[Any]		     = (size['height'] / crop_size['height']) * min_dim
			__lowerCAmelCase     :		Tuple		     = (size['width'] / crop_size['width']) * min_dim
			return center_crop(_SCREAMING_SNAKE_CASE			,						size=(cropped_height, cropped_width)			,						data_format=_SCREAMING_SNAKE_CASE			,						**_SCREAMING_SNAKE_CASE					)

		def 				__lowerCamelCase				( self			,						_SCREAMING_SNAKE_CASE			,						_SCREAMING_SNAKE_CASE			,						_SCREAMING_SNAKE_CASE = PIL.Image.BICUBIC			,						_SCREAMING_SNAKE_CASE = None			,						**_SCREAMING_SNAKE_CASE			,						):
			__lowerCAmelCase     :		Dict		     = get_size_dict(_SCREAMING_SNAKE_CASE					)
			if "height" not in size or "width" not in size:
				raise ValueError(f"The size dictionary must contain the keys 'height' and 'width'. Got {size.keys()}"					)
			return resize(
			    _SCREAMING_SNAKE_CASE			,						size=(size['height'], size['width'])			,						resample=_SCREAMING_SNAKE_CASE			,						data_format=_SCREAMING_SNAKE_CASE			,						**_SCREAMING_SNAKE_CASE					)

		def 				__lowerCamelCase				( self			,						_SCREAMING_SNAKE_CASE			,						_SCREAMING_SNAKE_CASE			,						_SCREAMING_SNAKE_CASE = None			,						**_SCREAMING_SNAKE_CASE			,						):
			return rescale(_SCREAMING_SNAKE_CASE			,						scale=_SCREAMING_SNAKE_CASE			,						data_format=_SCREAMING_SNAKE_CASE			,						**_SCREAMING_SNAKE_CASE					)

		def 				__lowerCamelCase				( self			,						_SCREAMING_SNAKE_CASE			,						_SCREAMING_SNAKE_CASE			,						_SCREAMING_SNAKE_CASE			,						_SCREAMING_SNAKE_CASE = None			,						**_SCREAMING_SNAKE_CASE			,						):
			return normalize(_SCREAMING_SNAKE_CASE			,						mean=_SCREAMING_SNAKE_CASE			,						std=_SCREAMING_SNAKE_CASE			,						data_format=_SCREAMING_SNAKE_CASE			,						**_SCREAMING_SNAKE_CASE					)







		def 				__lowerCamelCase				( self			,						_SCREAMING_SNAKE_CASE			,						_SCREAMING_SNAKE_CASE = None			,						_SCREAMING_SNAKE_CASE = None			,						_SCREAMING_SNAKE_CASE = None			,						_SCREAMING_SNAKE_CASE = None			,						_SCREAMING_SNAKE_CASE = None			,						_SCREAMING_SNAKE_CASE = None			,						_SCREAMING_SNAKE_CASE = None			,						_SCREAMING_SNAKE_CASE = None			,						_SCREAMING_SNAKE_CASE = None			,						_SCREAMING_SNAKE_CASE = None			,						_SCREAMING_SNAKE_CASE = None			,						_SCREAMING_SNAKE_CASE = ChannelDimension.FIRST			,						**_SCREAMING_SNAKE_CASE			,						):
			__lowerCAmelCase     :		Tuple		     = do_center_crop if do_center_crop is not None else self.do_center_crop
			__lowerCAmelCase     :		Optional[int]		     = crop_size if crop_size is not None else self.crop_size
			__lowerCAmelCase     :		int		     = get_size_dict(_SCREAMING_SNAKE_CASE			,						param_name='crop_size'					)
			__lowerCAmelCase     :		List[str]		     = do_resize if do_resize is not None else self.do_resize
			__lowerCAmelCase     :		Any		     = size if size is not None else self.size
			__lowerCAmelCase     :		Any		     = get_size_dict(_SCREAMING_SNAKE_CASE					)
			__lowerCAmelCase     :		Any		     = resample if resample is not None else self.resample
			__lowerCAmelCase     :		Union[str, Any]		     = do_rescale if do_rescale is not None else self.do_rescale
			__lowerCAmelCase     :		int		     = rescale_factor if rescale_factor is not None else self.rescale_factor
			__lowerCAmelCase     :		List[Any]		     = do_normalize if do_normalize is not None else self.do_normalize
			__lowerCAmelCase     :		Tuple		     = image_mean if image_mean is not None else self.image_mean
			__lowerCAmelCase     :		Union[str, Any]		     = image_std if image_std is not None else self.image_std

			__lowerCAmelCase     :		Tuple		     = make_list_of_images(_SCREAMING_SNAKE_CASE					)

			if not valid_images(_SCREAMING_SNAKE_CASE					):
				raise ValueError(
				    'Invalid image type. Must be of type PIL.Image.Image, numpy.ndarray, '
				    'torch.Tensor, tf.Tensor or jax.ndarray.'					)

			if do_center_crop and crop_size is None:
				raise ValueError('If `do_center_crop` is set to `True`, `crop_size` must be provided.'					)

			if do_resize and size is None:
				raise ValueError('Size must be specified if do_resize is True.'					)

			if do_rescale and rescale_factor is None:
				raise ValueError('Rescale factor must be specified if do_rescale is True.'					)

			if do_normalize and (image_mean is None or image_std is None):
				raise ValueError('Image mean and image standard deviation must be specified if do_normalize is True.'					)

			# All transformations expect numpy arrays.
			__lowerCAmelCase     :		int		     = [to_numpy_array(_SCREAMING_SNAKE_CASE					) for image in images]

			if do_center_crop:
				__lowerCAmelCase     :		int		     = [self.center_crop(_SCREAMING_SNAKE_CASE			,						_SCREAMING_SNAKE_CASE			,						size=_SCREAMING_SNAKE_CASE					) for image in images]

			if do_resize:
				__lowerCAmelCase     :		Optional[Any]		     = [self.resize(image=_SCREAMING_SNAKE_CASE			,						size=_SCREAMING_SNAKE_CASE			,						resample=_SCREAMING_SNAKE_CASE					) for image in images]

			if do_rescale:
				__lowerCAmelCase     :		str		     = [self.rescale(image=_SCREAMING_SNAKE_CASE			,						scale=_SCREAMING_SNAKE_CASE					) for image in images]

			if do_normalize:
				__lowerCAmelCase     :		Optional[int]		     = [self.normalize(image=_SCREAMING_SNAKE_CASE			,						mean=_SCREAMING_SNAKE_CASE			,						std=_SCREAMING_SNAKE_CASE					) for image in images]

			__lowerCAmelCase     :		Tuple		     = [to_channel_dimension_format(_SCREAMING_SNAKE_CASE			,						_SCREAMING_SNAKE_CASE					) for image in images]

			__lowerCAmelCase     :		str		     = {'pixel_values': images}
			return BatchFeature(data=_SCREAMING_SNAKE_CASE			,						tensor_type=_SCREAMING_SNAKE_CASE					)