





from collections import Counter
from timeit import timeit






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






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

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


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

from typing import Optional

import pyspark

from .. import Features, NamedSplit
from ..download import DownloadMode
from ..packaged_modules.spark.spark import Spark
from .abc import AbstractDatasetReader
class     a_			(						SCREAMING_SNAKE_CASE						):






 '''simple docstring'''






 def __init__(      self :  str      ,   lowercase__ :  pyspark.sql.DataFrame      ,   lowercase__ :  Optional[NamedSplit] = None      ,   lowercase__ :  Optional[Features] = None      ,   lowercase__ :  bool = True      ,   lowercase__ :  str = None      ,   lowercase__ :  bool = False      ,   lowercase__ :  str = None      ,   lowercase__ :  bool = True      ,   lowercase__ :  str = "arrow"      ,   **lowercase__ :  Any      ,   ):







        '''simple docstring'''



        super().__init__(
            split=lowercase__      ,   features=lowercase__      ,   cache_dir=lowercase__      ,   keep_in_memory=lowercase__      ,   streaming=lowercase__      ,   **lowercase__      ,   )
        lowerCAmelCase__					     = load_from_cache_file
        lowerCAmelCase__					     = file_format
        lowerCAmelCase__					     = Spark(
            df=lowercase__      ,   features=lowercase__      ,   cache_dir=lowercase__      ,   working_dir=lowercase__      ,   **lowercase__      ,   )




 def 		__snake_case						(      self :  Tuple):







        '''simple docstring'''



        if self.streaming:
               return self.builder.as_streaming_dataset(split=self.split)
        lowerCAmelCase__					     = None if self._load_from_cache_file else DownloadMode.FORCE_REDOWNLOAD
        self.builder.download_and_prepare(
            download_mode=lowercase__      ,   file_format=self._file_format      ,   )
        return self.builder.as_dataset(split=self.split)
