






from collections import defaultdict







def 	_UpperCamelCase       (    UpperCamelCase_       :					Union[str, Any]    ,       UpperCamelCase_       :					Optional[Any]		)  ->   int:

						"""simple docstring"""



						lowerCAmelCase__    						=						first_str.lower().strip()
						lowerCAmelCase__    						=						second_str.lower().strip()

						# Remove whitespace
						lowerCAmelCase__    						=						first_str.replace(' '    ,       ''		)
						lowerCAmelCase__    						=						second_str.replace(' '    ,       ''		)

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

						# Default values for count should be 0
						lowerCAmelCase__    						=						defaultdict(_lowerCAmelCase		)

						# For each character in input strings,
						# increment count in the corresponding
						for i in range(len(_lowerCAmelCase		)		):
												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()
					__snake_case    :    List[Any]         =     input("""Enter the first string """).strip()
					__snake_case    :    Union[str, Any]         =     input("""Enter the second string """).strip()

					__snake_case    :    Union[str, Any]         =     check_anagrams(input_a, input_b)
					print(f'{input_a} and {input_b} are {"" if status else "not "}anagrams.')













from __future__ import annotations

from functools import lru_cache
from math import ceil

__snake_case    :    Union[str, Any]         =     1_00

__snake_case    :    Tuple         =     set(range(3, NUM_PRIMES, 2))
primes.add(2)
__snake_case    :    int

for prime in range(3, ceil(NUM_PRIMES**0.5), 2):
					if prime not in primes:
										continue
					primes.difference_update(set(range(prime * prime, NUM_PRIMES, prime)))







@lru_cache(maxsize=100		)
def 	_UpperCamelCase   (    UpperCamelCase_       :					int		)  ->   set[int]:

						"""simple docstring"""



						if number_to_partition < 0:
												return set()
						elif number_to_partition == 0:
												return {1}

						lowerCAmelCase__    						=						set()
						lowerCAmelCase__    						=						42
						lowerCAmelCase__    						=						42

						for prime in primes:
												if prime > number_to_partition:
																		continue
												for sub in partition(number_to_partition - prime		):
																		ret.add(sub * prime		)

						return ret







def 	_UpperCamelCase   (    UpperCamelCase_       :					int = 5000		)  ->   int | None:

						"""simple docstring"""



						for number_to_partition in range(1    ,       UpperCamelCase_		):
												if len(partition(UpperCamelCase_		)		) > number_unique_partitions:
																		return number_to_partition
						return None


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





