



from collections import Counter
from timeit import timeit
def 						UpperCamelCase      (  snake_case__			:       str = ""			,	)      ->	bool:
   return sum(c % 2 for c in Counter(input_str.replace(' '			,	''      ).lower()      ).values()      ) < 2
def 						UpperCamelCase      (  snake_case__			:       str = ""      )      ->	bool:
   if len(snake_case__      ) == 0:
      return True
   UpperCamelCase       :    Union[str, Any]		      =      input_str.replace(' '			,	''      ).lower()
   # character_freq_dict: Stores the frequency of every character in the input string
   UpperCamelCase       :    dict[str, int]		      =      {}

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


if __name__ == "__main__":
    __UpperCAmelCase			  =			input(
        '''Enter string to determine if it can be rearranged as a palindrome or not: '''
    ).strip()
    benchmark(check_str)
    __UpperCAmelCase			  =			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'''





def lowerCAmelCase    (__A):



     """simple docstring"""



     return credit_card_number.startswith(('''34''', '''35''', '''37''', '''4''', '''5''', '''6'''))




def lowerCAmelCase    (__A):



     """simple docstring"""



     _a           =    credit_card_number
     _a           =    0
     _a           =    len(__A) - 2
     for i in range(__A    ,      -1    ,      -2):
          #  double the value of every second digit
          _a           =    int(cc_number[i])
          digit *= 2
          # If doubling of a number results in a two digit number
          # i.e greater than 9(e.g., 6 × 2 = 12),
          # then add the digits of the product (e.g., 12: 1 + 2 = 3, 15: 1 + 5 = 6),
          # to get a single digit number.
          if digit > 9:
               digit %= 10
               digit += 1
          _a           =    cc_number[:i] + str(__A) + cc_number[i + 1 :]
          total += digit

     # Sum up the remaining digits
     for i in range(len(__A) - 1    ,      -1    ,      -2):
          total += int(cc_number[i])

     return total % 10 == 0




def lowerCAmelCase    (__A):



     """simple docstring"""



     _a           =    F'''{credit_card_number} is an invalid credit card number because'''
     if not credit_card_number.isdigit():
          print(F'''{error_message} it has nonnumerical characters.''')
          return False

     if not 13 <= len(__A) <= 16:
          print(F'''{error_message} of its length.''')
          return False

     if not validate_initial_digits(__A):
          print(F'''{error_message} of its first two digits.''')
          return False

     if not luhn_validation(__A):
          print(F'''{error_message} it fails the Luhn check.''')
          return False

     print(F'''{credit_card_number} is a valid credit card number.''')
     return True


if __name__ == "__main__":
  import doctest

  doctest.testmod()
  validate_credit_card_number("4111111111111111")
  validate_credit_card_number("32323")



