



'''simple docstring'''




from collections import defaultdict



def    __lowerCamelCase						(      _lowercase			,       _lowercase	)   ->    bool:
							UpperCAmelCase  :	Dict							  =	first_str.lower().strip()
							UpperCAmelCase  :	Union[str, Any]							  =	second_str.lower().strip()

							# Remove whitespace
							UpperCAmelCase  :	Optional[int]							  =	first_str.replace(""" """			,       """"""	)
							UpperCAmelCase  :	Tuple							  =	second_str.replace(""" """			,       """"""	)

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

							# Default values for count should be 0
							UpperCAmelCase  :	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()
							a     :    List[Any]      						=					input("""Enter the first string """).strip()
							a     :    Union[str, Any]      						=					input("""Enter the second string """).strip()

							a     :    Any      						=					check_anagrams(input_a, input_b)
							print(F'''{input_a} and {input_b} are {'' if status else 'not '}anagrams.''')






'''simple docstring'''




from __future__ import annotations

from collections.abc import Sequence
from typing import Literal



def    __lowerCamelCase						(      _lowercase			,       _lowercase	)   ->    str | Literal[False]:
							UpperCAmelCase  :	Optional[int]							  =	list(_lowercase	)
							UpperCAmelCase  :	Dict							  =	list(_lowercase	)
							UpperCAmelCase  :	str							  =	0
							for i in range(len(_lowercase	)	):
														if lista[i] != lista[i]:
																					count += 1
																					UpperCAmelCase  :	Optional[Any]							  =	"""_"""
							if count > 1:
														return False
							else:
														return "".join(_lowercase	)



def    __lowerCamelCase						(      _lowercase	)   ->    list[str]:
							UpperCAmelCase  :	List[str]							  =	[]
							while True:
														UpperCAmelCase  :	Optional[int]							  =	["""$"""] * len(_lowercase	)
														UpperCAmelCase  :	int							  =	[]
														for i in range(len(_lowercase	)	):
																					for j in range(i + 1			,       len(_lowercase	)	):
																												UpperCAmelCase  :	str							  =	compare_string(binary[i]			,       binary[j]	)
																												if k is False:
																																			UpperCAmelCase  :	Union[str, Any]							  =	"""*"""
																																			UpperCAmelCase  :	Optional[Any]							  =	"""*"""
																																			temp.append("""X"""	)
														for i in range(len(_lowercase	)	):
																					if checka[i] == "$":
																												pi.append(binary[i]	)
														if len(_lowercase	) == 0:
																					return pi
														UpperCAmelCase  :	List[Any]							  =	list(set(_lowercase	)	)



def    __lowerCamelCase						(      _lowercase			,       _lowercase	)   ->    list[str]:
							UpperCAmelCase  :	Dict							  =	[]
							for minterm in minterms:
														UpperCAmelCase  :	List[str]							  =	""""""
														for _ in range(_lowercase	):
																					UpperCAmelCase  :	Dict							  =	str(minterm % 2	) + string
																					minterm //= 2
														temp.append(_lowercase	)
							return temp



def    __lowerCamelCase						(      _lowercase			,       _lowercase			,       _lowercase	)   ->    bool:
							UpperCAmelCase  :	Optional[int]							  =	list(_lowercase	)
							UpperCAmelCase  :	Dict							  =	list(_lowercase	)
							UpperCAmelCase  :	Dict							  =	0
							for i in range(len(_lowercase	)	):
														if lista[i] != lista[i]:
																					count_n += 1
							return count_n == count



def    __lowerCamelCase						(      _lowercase			,       _lowercase	)   ->    list[str]:
							UpperCAmelCase  :	Tuple							  =	[]
							UpperCAmelCase  :	Optional[int]							  =	[0] * len(_lowercase	)
							for i in range(len(chart[0]	)	):
														UpperCAmelCase  :	Any							  =	0
														UpperCAmelCase  :	Optional[Any]							  =	-1
														for j in range(len(_lowercase	)	):
																					if chart[j][i] == 1:
																												count += 1
																												UpperCAmelCase  :	str							  =	j
														if count == 1:
																					UpperCAmelCase  :	Optional[int]							  =	1
							for i in range(len(_lowercase	)	):
														if select[i] == 1:
																					for j in range(len(chart[0]	)	):
																												if chart[i][j] == 1:
																																			for k in range(len(_lowercase	)	):
																																										UpperCAmelCase  :	List[str]							  =	0
																					temp.append(prime_implicants[i]	)
							while True:
														UpperCAmelCase  :	int							  =	0
														UpperCAmelCase  :	Tuple							  =	-1
														UpperCAmelCase  :	Union[str, Any]							  =	0
														for i in range(len(_lowercase	)	):
																					UpperCAmelCase  :	Optional[Any]							  =	chart[i].count(1	)
																					if count_n > max_n:
																												UpperCAmelCase  :	Union[str, Any]							  =	count_n
																												UpperCAmelCase  :	Optional[Any]							  =	i

														if max_n == 0:
																					return temp

														temp.append(prime_implicants[rem]	)

														for i in range(len(chart[0]	)	):
																					if chart[rem][i] == 1:
																												for j in range(len(_lowercase	)	):
																																			UpperCAmelCase  :	Optional[Any]							  =	0



def    __lowerCamelCase						(      _lowercase			,       _lowercase	)   ->    list[list[int]]:
							UpperCAmelCase  :	Optional[int]							  =	[[0 for x in range(len(_lowercase	)	)] for x in range(len(_lowercase	)	)]
							for i in range(len(_lowercase	)	):
														UpperCAmelCase  :	Tuple							  =	prime_implicants[i].count("""_"""	)
														for j in range(len(_lowercase	)	):
																					if is_for_table(prime_implicants[i]			,       binary[j]			,       _lowercase	):
																												UpperCAmelCase  :	List[Any]							  =	1

							return chart



def    __lowerCamelCase						(      )   ->    None:
							UpperCAmelCase  :	str							  =	int(input("""Enter the no. of variables\n"""	)	)
							UpperCAmelCase  :	List[Any]							  =	[
							    float(_lowercase	)
							    for x in input(
							        """Enter the decimal representation of Minterms 'Spaces Separated'\n"""	).split()
							]
							UpperCAmelCase  :	str							  =	decimal_to_binary(_lowercase			,       _lowercase	)

							UpperCAmelCase  :	Tuple							  =	check(_lowercase	)
							print("""Prime Implicants are:"""	)
							print(_lowercase	)
							UpperCAmelCase  :	Union[str, Any]							  =	prime_implicant_chart(_lowercase			,       _lowercase	)

							UpperCAmelCase  :	Tuple							  =	selection(_lowercase			,       _lowercase	)
							print("""Essential Prime Implicants are:"""	)
							print(_lowercase	)


if __name__ == "__main__":
							import doctest

							doctest.testmod()
							main()

