

'''simple docstring'''
from collections import Counter
from timeit import timeit




def 	UpperCamelCase   (       lowercase_						:    str = ""     ,					)		->	bool:




  '''simple docstring'''



  return sum(c % 2 for c in Counter(input_str.replace(''' '''     ,					''''''	).lower()	).values()	) < 2




def 	UpperCamelCase   (       lowercase_						:    str = ""	)		->	bool:




  '''simple docstring'''



  if len(lowercase_	) == 0:
    return True
  lowercase									=input_str.replace(''' '''     ,					''''''	).lower()
  # character_freq_dict: Stores the frequency of every character in the input string
  lowercase									={}

  for character in lower_case_input_str:
    lowercase									=character_freq_dict.get(lowercase_     ,					0	) + 1
  lowercase									=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 	UpperCamelCase   (       lowercase_						:    str = ""	)		->	None:




  '''simple docstring'''



  print('''\nFor string = '''     ,					lowercase_     ,					''':'''	)
  print(
      '''> can_string_be_rearranged_as_palindrome_counter()'''     ,					'''\tans ='''     ,					can_string_be_rearranged_as_palindrome_counter(lowercase_	)     ,					'''\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(lowercase_	)     ,					'''\ttime ='''     ,					timeit(
          '''z.can_string_be_rearranged_as_palindrome(z.check_str)'''     ,					setup='''import __main__ as z'''     ,					)     ,					'''seconds'''     ,					)


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




# Copyright 2021 The HuggingFace Team. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import argparse

from .config import config_command_parser
from .config_args import default_config_file, load_config_from_file  # noqa: F401
from .default import default_command_parser
from .update import update_command_parser






def 	__lowerCamelCase						(							lowerCamelCase__		:						Any=None      ):





			'''simple docstring'''




			lowerCamelCase    		=  argparse.ArgumentParser(add_help=lowerCamelCase__  ,							allow_abbrev=lowerCamelCase__      )
			# The main config parser
			lowerCamelCase    		=  config_command_parser(lowerCamelCase__      )
			# The subparser to add commands to
			lowerCamelCase    		=  config_parser.add_subparsers(title="""subcommands"""  ,							dest="""subcommand"""      )

			# Then add other parsers with the parent parser
			default_command_parser(lowerCamelCase__  ,							parents=[parent_parser]      )
			update_command_parser(lowerCamelCase__  ,							parents=[parent_parser]      )

			return config_parser






def 	__lowerCamelCase						(							):





			'''simple docstring'''




			lowerCamelCase    		=  get_config_parser()
			lowerCamelCase    		=  config_parser.parse_args()

			if not hasattr(lowerCamelCase__  ,							"""func"""      ):
						config_parser.print_help()
						exit(1      )

			# Run
			args.func(lowerCamelCase__      )


if __name__ == "__main__":
		main()

