"""simple docstring"""
from collections import Counter
from timeit import timeit







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







def 						__a       (     _SCREAMING_SNAKE_CASE = ""       )     ->bool:
  if len(_SCREAMING_SNAKE_CASE       ) == 0:
    return True
  a__:					List[Any]      							=     input_str.replace(' '		,					''       ).lower()
  # character_freq_dict: Stores the frequency of every character in the input string
  a__:					dict[str, int]      							=     {}

  for character in lower_case_input_str:
    a__:					Tuple      							=     character_freq_dict.get(_SCREAMING_SNAKE_CASE		,					0       ) + 1
  a__:					List[Any]      							=     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 						__a       (     _SCREAMING_SNAKE_CASE = ""       )     ->None:
  print('\nFor string = '		,					_SCREAMING_SNAKE_CASE		,					':'       )
  print(
      '> can_string_be_rearranged_as_palindrome_counter()'		,					'\tans ='		,					can_string_be_rearranged_as_palindrome_counter(_SCREAMING_SNAKE_CASE       )		,					'\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(_SCREAMING_SNAKE_CASE       )		,					'\ttime ='		,					timeit(
          'z.can_string_be_rearranged_as_palindrome(z.check_str)'		,					setup='import __main__ as z'		,					)		,					'seconds'		,					)


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



"""simple docstring"""
import unittest

from knapsack import knapsack as k




class        __snake_case	(					unittest.TestCase    ):



      def   lowerCamelCase_       (						self)     ->      Dict:





        '''simple docstring'''





        a__:					List[Any]      							=     0
        a__:					Dict      							=     [0]
        a__:					int      							=     [0]
        a__:					Optional[Any]      							=     len(lowercase)
        self.assertEqual(k.knapsack(lowercase   ,      lowercase   ,      lowercase   ,      lowercase)   ,      0)

        a__:					str      							=     [60]
        a__:					Dict      							=     [10]
        a__:					List[str]      							=     len(lowercase)
        self.assertEqual(k.knapsack(lowercase   ,      lowercase   ,      lowercase   ,      lowercase)   ,      0)



      def   lowerCamelCase_       (						self)     ->      List[Any]:





        '''simple docstring'''





        a__:					int      							=     3
        a__:					str      							=     [1, 2, 3]
        a__:					Dict      							=     [3, 2, 1]
        a__:					Optional[int]      							=     len(lowercase)
        self.assertEqual(k.knapsack(lowercase   ,      lowercase   ,      lowercase   ,      lowercase)   ,      5)



      def   lowerCamelCase_       (						self)     ->      Union[str, Any]:





        '''simple docstring'''





        a__:					Any      							=     50
        a__:					Optional[int]      							=     [60, 1_00, 1_20]
        a__:					str      							=     [10, 20, 30]
        a__:					int      							=     len(lowercase)
        self.assertEqual(k.knapsack(lowercase   ,      lowercase   ,      lowercase   ,      lowercase)   ,      2_20)


if __name__ == "__main__":
 unittest.main()


