from ...processing_utils import ProcessorMixin
from ...tokenization_utils_base import BatchEncoding
class     lowerCAmelCase_     (       __lowercase ):
							UpperCAmelCase				   =     ["image_processor", "tokenizer"]
							UpperCAmelCase				   =     "AutoImageProcessor"
							UpperCAmelCase				   =     "AutoTokenizer"







							def __init__(   self      :     Union[str, Any] ,			_A      :     Dict ,			_A      :     Union[str, Any]		):
												super().__init__(_A ,			_A		)
												_UpperCamelCase			     =     self.image_processor







							def __call__(   self      :     int ,			_A      :     Tuple=None ,			_A      :     Tuple=None ,			_A      :     List[Any]=None ,			**_A      :     Dict		):

												if text is None and images is None:
																	raise ValueError('''You have to specify either text or images. Both cannot be none.'''		)

												if text is not None:
																	_UpperCamelCase			     =     self.tokenizer(_A ,			return_tensors=_A ,			**_A		)

												if images is not None:
																	_UpperCamelCase			     =     self.image_processor(_A ,			return_tensors=_A ,			**_A		)

												if text is not None and images is not None:
																	_UpperCamelCase			     =     image_features.pixel_values
																	return encoding
												elif text is not None:
																	return encoding
												else:
																	return BatchEncoding(data=dict(**_A		) ,			tensor_type=_A		)







							def  UpperCamelCase_						(   self      :     Any ,			*_A      :     List[Any] ,			**_A      :     str		):
												return self.tokenizer.batch_decode(*_A ,			**_A		)







							def  UpperCamelCase_						(   self      :     Any ,			*_A      :     int ,			**_A      :     Dict		):
												return self.tokenizer.decode(*_A ,			**_A		)







							@property
							def  UpperCamelCase_						(   self      :     Union[str, Any]		):
												return ["input_ids", "attention_mask", "pixel_values"]





def 		lowerCAmelCase__     (       UpperCamelCase_					:							int						)->	int:
    A__					=       1
    for i in range(1			,							num + 1						):
        fact *= i
    return fact



def 		lowerCAmelCase__     (       UpperCamelCase_					:							int						)->	int:
    A__					=       0
    while number > 0:
        A__					=       number % 1_0
        sum_of_digits += last_digit
        A__					=       number // 1_0  # Removing the last_digit from the given number
    return sum_of_digits



def 		lowerCAmelCase__     (       UpperCamelCase_					:							int = 1_0_0						)->	int:
    A__					=       factorial(UpperCamelCase_						)
    A__					=       split_and_add(UpperCamelCase_						)
    return result


if __name__ == "__main__":
   print(solution(int(input("Enter the Number: ").strip())))
