





'''simple docstring'''




import string




def 						__lowerCamelCase			(	UpperCAmelCase_							)   ->str:
	snake_case__	       =   ''
	for i in sequence:
		snake_case__	       =   ord(UpperCAmelCase_							)
		if 65 <= extract <= 90:
			output += chr(1_55 - extract							)
		elif 97 <= extract <= 1_22:
			output += chr(2_19 - extract							)
		else:
			output += i
	return output




def 						__lowerCamelCase			(	UpperCAmelCase_							)   ->str:
	snake_case__	       =   string.ascii_letters
	snake_case__	       =   string.ascii_lowercase[::-1] + string.ascii_uppercase[::-1]
	return "".join(
	    letters_reversed[letters.index(UpperCAmelCase_							)] if c in letters else c for c in sequence							)




def 						__lowerCamelCase			(	)   ->None:
	from timeit import timeit

	print('Running performance benchmarks...'							)
	snake_case__	       =   'from string import printable ; from __main__ import atbash, atbash_slow'
	print(f'''> atbash_slow(): {timeit('atbash_slow(printable)'					,				setup=UpperCAmelCase_							)} seconds'''							)
	print(f'''>      atbash(): {timeit('atbash(printable)'					,				setup=UpperCAmelCase_							)} seconds'''							)


if __name__ == "__main__":
			for example in ("ABCDEFGH", "123GGjj", "testStringtest", "with space"):
						print(f"""{example} encrypted in atbash: {atbash(example)}""")
			benchmark()










'''simple docstring'''




from collections import Counter
from timeit import timeit




def 						__lowerCamelCase			(	UpperCAmelCase_ = ""					,				)   ->bool:
	return sum(c % 2 for c in Counter(input_str.replace(' '					,				''							).lower()							).values()							) < 2




def 						__lowerCamelCase			(	UpperCAmelCase_ = ""							)   ->bool:
	if len(UpperCAmelCase_							) == 0:
		return True
	snake_case__	       =   input_str.replace(' '					,				''							).lower()
	# character_freq_dict: Stores the frequency of every character in the input string
	snake_case__	       =   {}

	for character in lower_case_input_str:
		snake_case__	       =   character_freq_dict.get(UpperCAmelCase_					,				0							) + 1
	snake_case__	       =   0

	for character_count in character_freq_dict.values():
		if character_count % 2:
			odd_char += 1
	if odd_char > 1:
		return False
	return True




def 						__lowerCamelCase			(	UpperCAmelCase_ = ""							)   ->None:
	print('\nFor string = '					,				UpperCAmelCase_					,				':'							)
	print(
	    '> can_string_be_rearranged_as_palindrome_counter()'					,				'\tans ='					,				can_string_be_rearranged_as_palindrome_counter(UpperCAmelCase_							)					,				'\ttime ='					,				timeit(
	        'z.can_string_be_rearranged_as_palindrome_counter(z.check_str)'					,				setup='import __main__ as z'					,				)					,				'seconds'					,				)
	print(
	    '> can_string_be_rearranged_as_palindrome()'					,				'\tans ='					,				can_string_be_rearranged_as_palindrome(UpperCAmelCase_							)					,				'\ttime ='					,				timeit(
	        'z.can_string_be_rearranged_as_palindrome(z.check_str)'					,				setup='import __main__ as z'					,				)					,				'seconds'					,				)


if __name__ == "__main__":
			a__					:			str          =     input(
			    '''Enter string to determine if it can be rearranged as a palindrome or not: '''
			).strip()
			benchmark(check_str)
			a__					:			List[Any]          =     can_string_be_rearranged_as_palindrome_counter(check_str)
			print(f"""{check_str} can {'' if status else 'not '}be rearranged as a palindrome""")



