from ...processing_utils import ProcessorMixin






class 		_lowerCamelCase		( UpperCamelCase_     ):
    __a						=   ["image_processor", "feature_extractor"]
    __a						=   "TvltImageProcessor"
    __a						=   "TvltFeatureExtractor"
    def __init__(	self			,			lowerCAmelCase			,			lowerCAmelCase )							->       Dict:
     super().__init__(image_processor=__A			,			feature_extractor=__A )

     SCREAMING_SNAKE_CASE__: Union[str, Any]=   image_processor
     SCREAMING_SNAKE_CASE__: Optional[int]=   feature_extractor
    def __call__(	self			,			lowerCAmelCase=None			,			lowerCAmelCase=None			,			lowerCAmelCase=None			,			lowerCAmelCase=None			,			lowerCAmelCase=False			,			lowerCAmelCase=False			,			*lowerCAmelCase			,			**lowerCAmelCase			,			)							->       Dict:

     if images is None and audio is None:
      raise ValueError('''You need to specify either an `images` or `audio` input to process.''' )

     SCREAMING_SNAKE_CASE__: Tuple=   None
     if images is not None:
      SCREAMING_SNAKE_CASE__: List[str]=   self.image_processor(__A			,			mask_pixel=__A			,			*__A			,			**__A )
     if images_mixed is not None:
      SCREAMING_SNAKE_CASE__: Any=   self.image_processor(__A			,			is_mixed=__A			,			*__A			,			**__A )
     if audio is not None:
      SCREAMING_SNAKE_CASE__: Optional[Any]=   self.feature_extractor(
          __A			,			*__A			,			sampling_rate=__A			,			mask_audio=__A			,			**__A )

     SCREAMING_SNAKE_CASE__: List[str]=   {}
     if audio is not None:
      output_dict.update(__A )
     if images is not None:
      output_dict.update(__A )
     if images_mixed_dict is not None:
      output_dict.update(__A )
     return output_dict



    @property
    def     UpperCamelCase_					(	self )							->       List[Any]:
     SCREAMING_SNAKE_CASE__: Tuple=   self.image_processor.model_input_names
     SCREAMING_SNAKE_CASE__: Tuple=   self.feature_extractor.model_input_names
     return list(dict.fromkeys(image_processor_input_names + feature_extractor_input_names ) )



from math import ceil, sqrt
def 							SCREAMING_SNAKE_CASE_	(					UpperCAmelCase_	:     int = 1_0_0_0_0_0_0				)			->						int:
       SCREAMING_SNAKE_CASE_							:				List[Any]		=0

       for outer_width in range(3			,							(limit // 4) + 2				):
              if outer_width**2 > limit:
                     SCREAMING_SNAKE_CASE_							:				List[str]		=max(ceil(sqrt(outer_width**2 - limit				)				)			,							1				)
              else:
                     SCREAMING_SNAKE_CASE_							:				List[str]		=1
              if (outer_width - hole_width_lower_bound) % 2:
                     hole_width_lower_bound += 1

              answer += (outer_width - hole_width_lower_bound - 2) // 2 + 1

       return answer


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