






import warnings

from ...processing_utils import ProcessorMixin
from ...tokenization_utils_base import BatchEncoding

class 		_snake_case	(	A__       ):
			_lowercase		:     Tuple        =				['''image_processor''', '''tokenizer''']
			_lowercase		:     List[Any]        =				'''ViTImageProcessor'''
			_lowercase		:     Optional[Any]        =				('''CLIPTokenizer''', '''CLIPTokenizerFast''')






			def __init__(							self		,       a=None		,       a=None		,       **a)   ->							Optional[Any]:
						SCREAMING_SNAKE_CASE							=			None
						if "feature_extractor" in kwargs:
									warnings.warn(
									    'The `feature_extractor` argument is deprecated and will be removed in v5, use `image_processor`'
									    ' instead.'		,       a		,       )
									SCREAMING_SNAKE_CASE							=			kwargs.pop('feature_extractor')

						SCREAMING_SNAKE_CASE							=			image_processor if image_processor is not None else feature_extractor
						if image_processor is None:
									raise ValueError('You need to specify an `image_processor`.')
						if tokenizer is None:
									raise ValueError('You need to specify a `tokenizer`.')

						super().__init__(a		,       a)






			def __call__(							self		,       a=None		,       a=None		,       a=None		,       a=None		,       **a)   ->							int:
						if text is None and visual_prompt is None and images is None:
									raise ValueError('You have to specify either text, visual prompt or images.')

						if text is not None and visual_prompt is not None:
									raise ValueError('You have to specify exactly one type of prompt. Either text or visual prompt.')

						if text is not None:
									SCREAMING_SNAKE_CASE							=			self.tokenizer(a		,       return_tensors=a		,       **a)

						if visual_prompt is not None:
									SCREAMING_SNAKE_CASE							=			self.image_processor(a		,       return_tensors=a		,       **a)

						if images is not None:
									SCREAMING_SNAKE_CASE							=			self.image_processor(a		,       return_tensors=a		,       **a)

						if visual_prompt is not None and images is not None:
									SCREAMING_SNAKE_CASE							=			{
									    'pixel_values': image_features.pixel_values,
									    'conditional_pixel_values': prompt_features.pixel_values,
									}
									return encoding
						elif text is not None and images is not None:
									SCREAMING_SNAKE_CASE							=			image_features.pixel_values
									return encoding
						elif text is not None:
									return encoding
						elif visual_prompt is not None:
									SCREAMING_SNAKE_CASE							=			{
									    'conditional_pixel_values': prompt_features.pixel_values,
									}
									return encoding
						else:
									return BatchEncoding(data=dict(**a)		,       tensor_type=a)






			def  SCREAMING_SNAKE_CASE__     (							self		,       *a		,       **a)   ->							List[str]:
						return self.tokenizer.batch_decode(*a		,       **a)






			def  SCREAMING_SNAKE_CASE__     (							self		,       *a		,       **a)   ->							int:
						return self.tokenizer.decode(*a		,       **a)






			@property
			def  SCREAMING_SNAKE_CASE__     (							self)   ->							str:
						warnings.warn(
						    '`feature_extractor_class` is deprecated and will be removed in v5. Use `image_processor_class` instead.'		,       a		,       )
						return self.image_processor_class







			@property
			def  SCREAMING_SNAKE_CASE__     (							self)   ->							Optional[int]:
						warnings.warn(
						    '`feature_extractor` is deprecated and will be removed in v5. Use `image_processor` instead.'		,       a		,       )
						return self.image_processor









def  lowerCAmelCase_	(lowerCAmelCase__:		list  ):





			"""simple docstring"""


			if len(lowerCAmelCase__  ) <= 1:
						return [tuple(lowerCAmelCase__  )]

			UpperCAmelCase_:		List[Any]							      =     []

			def generate(lowerCAmelCase__:		int		,						lowerCAmelCase__:		list  ):
						if k == 1:
									res.append(tuple(arr[:]  )  )
									return

						generate(k - 1		,						lowerCAmelCase__  )

						for i in range(k - 1  ):
									if k % 2 == 0:  # k is even
												UpperCAmelCase_      ,							UpperCAmelCase_:		Union[str, Any]							      =     arr[k - 1], arr[i]
									else:  # k is odd
												UpperCAmelCase_      ,							UpperCAmelCase_:		Optional[int]							      =     arr[k - 1], arr[0]
									generate(k - 1		,						lowerCAmelCase__  )

			generate(len(lowerCAmelCase__  )		,						lowerCAmelCase__  )
			return res


if __name__ == "__main__":
	a      :  Optional[Any]			     =			input('Enter numbers separated by a comma:\n').strip()
	a      :  str			     =			[int(item) for item in user_input.split(',')]
	print(heaps(arr))






