






from collections import defaultdict



def  a__ (__lowercase							:str					,  __lowercase							:str   )		-> bool:
				_A	:				Union[str, Any]   =      first_str.lower().strip()
				_A	:				int   =      second_str.lower().strip()

				# Remove whitespace
				_A	:				int   =      first_str.replace(''' '''					,  ''''''   )
				_A	:				Optional[Any]   =      second_str.replace(''' '''					,  ''''''   )

				# Strings of different lengths are not anagrams
				if len(__lowercase   ) != len(__lowercase   ):
								return False

				# Default values for count should be 0
				_A	:				defaultdict[str, int]   =      defaultdict(__lowercase   )

				# For each character in input strings,
				# increment count in the corresponding
				for i in range(len(__lowercase   )   ):
								count[first_str[i]] += 1
								count[second_str[i]] -= 1

				return all(_count == 0 for _count in count.values()   )


if __name__ == "__main__":
	from doctest import testmod

	testmod()
	_UpperCamelCase			:	Dict								=input('Enter the first string ').strip()
	_UpperCamelCase			:	Union[str, Any]								=input('Enter the second string ').strip()

	_UpperCamelCase			:	Dict								=check_anagrams(input_a, input_b)
	print(f'''{input_a} and {input_b} are {"" if status else "not "}anagrams.''')











from typing import List, Optional, Union

from ...processing_utils import ProcessorMixin
from ...tokenization_utils_base import BatchEncoding, PaddingStrategy, PreTokenizedInput, TextInput, TruncationStrategy
from ...utils import TensorType






class 						UpperCAmelCase__ (							__snake_case							):
		__snake_case      :       Optional[Any]     =   ["image_processor", "tokenizer"]
		__snake_case      :       Tuple     =   "BridgeTowerImageProcessor"
		__snake_case      :       List[str]     =   ("RobertaTokenizer", "RobertaTokenizerFast")







		def __init__(					self       ,A__       ,A__		):
						super().__init__(A__       ,A__		)







		def __call__(					self       ,A__       ,A__ = None       ,A__ = True       ,A__ = False       ,A__ = None       ,A__ = None       ,A__ = 0       ,A__ = None       ,A__ = None       ,A__ = None       ,A__ = False       ,A__ = False       ,A__ = False       ,A__ = False       ,A__ = True       ,A__ = None       ,**A__       ,):
						_A	:				List[Any]   =      self.tokenizer(
						    text=A__       ,add_special_tokens=A__       ,padding=A__       ,truncation=A__       ,max_length=A__       ,stride=A__       ,pad_to_multiple_of=A__       ,return_token_type_ids=A__       ,return_attention_mask=A__       ,return_overflowing_tokens=A__       ,return_special_tokens_mask=A__       ,return_offsets_mapping=A__       ,return_length=A__       ,verbose=A__       ,return_tensors=A__       ,**A__       ,)
						# add pixel_values + pixel_mask
						_A	:				Optional[Any]   =      self.image_processor(
						    A__       ,return_tensors=A__       ,do_normalize=A__       ,do_center_crop=A__       ,**A__		)
						encoding.update(A__		)

						return encoding







		def  A__      (					self       ,*A__       ,**A__		):
						return self.tokenizer.batch_decode(*A__       ,**A__		)







		def  A__      (					self       ,*A__       ,**A__		):
						return self.tokenizer.decode(*A__       ,**A__		)







		@property
		def  A__      (					self		):
						_A	:				Union[str, Any]   =      self.tokenizer.model_input_names
						_A	:				str   =      self.image_processor.model_input_names
						return list(dict.fromkeys(tokenizer_input_names + image_processor_input_names		)		)



