

"""simple docstring"""




import argparse
import datetime
def   lowerCAmelCase						(					__UpperCamelCase      ):
 '''simple docstring'''





 UpperCAmelCase__					:  Any					   =					{
     """0""": """Sunday""",
     """1""": """Monday""",
     """2""": """Tuesday""",
     """3""": """Wednesday""",
     """4""": """Thursday""",
     """5""": """Friday""",
     """6""": """Saturday""",
 }

 UpperCAmelCase__					:  Optional[int]					   =					{0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 0}

 # Validate
 if not 0 < len(__UpperCamelCase      ) < 11:
  raise ValueError("""Must be 10 characters long"""      )

 # Get month
 UpperCAmelCase__					:  int					   =					int(date_input[0] + date_input[1]      )
 # Validate
 if not 0 < m < 13:
  raise ValueError("""Month must be between 1 - 12"""      )

 UpperCAmelCase__					:  str					   =					date_input[2]
 # Validate
 if sep_a not in ["-", "/"]:
  raise ValueError("""Date separator must be '-' or '/'"""      )

 # Get day
 UpperCAmelCase__					:  int					   =					int(date_input[3] + date_input[4]      )
 # Validate
 if not 0 < d < 32:
  raise ValueError("""Date must be between 1 - 31"""      )

 # Get second separator
 UpperCAmelCase__					:  str					   =					date_input[5]
 # Validate
 if sep_a not in ["-", "/"]:
  raise ValueError("""Date separator must be '-' or '/'"""      )

 # Get year
 UpperCAmelCase__					:  int					   =					int(date_input[6] + date_input[7] + date_input[8] + date_input[9]      )
 # Arbitrary year range
 if not 45 < y < 8500:
  raise ValueError(
      """Year out of range. There has to be some sort of limit...right?"""      )

 # Get datetime obj for validation
 UpperCAmelCase__					:  Dict					   =					datetime.date(int(__UpperCamelCase      )							,    int(__UpperCamelCase      )							,    int(__UpperCamelCase      )      )

 # Start math
 if m <= 2:
  UpperCAmelCase__					:  Optional[Any]					   =					y - 1
  UpperCAmelCase__					:  Any					   =					m + 12
 # maths var
 UpperCAmelCase__					:  int					   =					int(str(__UpperCamelCase      )[:2]      )
 UpperCAmelCase__					:  int					   =					int(str(__UpperCamelCase      )[2:]      )
 UpperCAmelCase__					:  int					   =					int(2.6 * m - 5.39      )
 UpperCAmelCase__					:  int					   =					int(c / 4      )
 UpperCAmelCase__					:  int					   =					int(k / 4      )
 UpperCAmelCase__					:  int					   =					int(d + k      )
 UpperCAmelCase__					:  int					   =					int(t + u + v + x      )
 UpperCAmelCase__					:  int					   =					int(z - (2 * c)      )
 UpperCAmelCase__					:  int					   =					round(w % 7      )
 # End math

 # Validate math
 if f != convert_datetime_days[dt_ck.weekday()]:
  raise AssertionError("""The date was evaluated incorrectly. Contact developer."""      )

 # Response
 UpperCAmelCase__					:  str					   =					F"Your date {date_input}, is a {days[str(__UpperCamelCase      )]}!"
 return response


if __name__ == "__main__":
      import doctest

      doctest.testmod()
      __UpperCAmelCase =				argparse.ArgumentParser(
          description=(
              'Find out what day of the week nearly any date is or was. Enter '
              'date as a string in the mm-dd-yyyy or mm/dd/yyyy format'
          )
      )
      parser.add_argument(
          'date_input', type=str, help='Date as a string (mm-dd-yyyy or mm/dd/yyyy)'
      )
      __UpperCAmelCase =				parser.parse_args()
      zeller(args.date_input)








"""simple docstring"""




def   lowerCAmelCase						(					__UpperCamelCase      ):
 '''simple docstring'''





 UpperCAmelCase__					:  str					   =					[]
 if len(__UpperCamelCase      ) == 1:
  return [nums.copy()]
 for _ in range(len(__UpperCamelCase      )      ):
  UpperCAmelCase__					:  Tuple					   =					nums.pop(0      )
  UpperCAmelCase__					:  List[str]					   =					permute(__UpperCamelCase      )
  for perm in permutations:
   perm.append(__UpperCamelCase      )
  result.extend(__UpperCamelCase      )
  nums.append(__UpperCamelCase      )
 return result
def   lowerCAmelCase						(					__UpperCamelCase      ):
 '''simple docstring'''





 def backtrack(__UpperCamelCase      ):
  if start == len(__UpperCamelCase      ) - 1:
   output.append(nums[:]      )
  else:
   for i in range(__UpperCamelCase							,    len(__UpperCamelCase      )      ):
    UpperCAmelCase__   ,      UpperCAmelCase__					:  Union[str, Any]					   =					nums[i], nums[start]
    backtrack(start + 1      )
    UpperCAmelCase__   ,      UpperCAmelCase__					:  Union[str, Any]					   =					nums[i], nums[start]  # backtrack

 UpperCAmelCase__					:  List[str]					   =					[]
 backtrack(0      )
 return output


if __name__ == "__main__":
      import doctest

      # use res to print the data in permute2 function
      __UpperCAmelCase =				permutea([1, 2, 3])
      print(res)
      doctest.testmod()





