





import argparse
import datetime






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






				"""simple docstring"""


				snake_case_						:    str				=  {
				    '''0''': '''Sunday''',
				    '''1''': '''Monday''',
				    '''2''': '''Tuesday''',
				    '''3''': '''Wednesday''',
				    '''4''': '''Thursday''',
				    '''5''': '''Friday''',
				    '''6''': '''Saturday''',
				}

				snake_case_						:    Tuple				=  {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
				snake_case_						:    int				=  int(date_input[0] + date_input[1] )
				# Validate
				if not 0 < m < 13:
								raise ValueError('''Month must be between 1 - 12''' )

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

				# Get day
				snake_case_						:    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
				snake_case_						:    List[Any]				=  date_input[5]
				# Validate
				if sep_a not in ["-", "/"]:
								raise ValueError('''Date separator must be \'-\' or \'/\'''' )

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

				# Get datetime obj for validation
				snake_case_						:    int				=  datetime.date(int(UpperCAmelCase_ ) ,				int(UpperCAmelCase_ ) ,				int(UpperCAmelCase_ ) )

				# Start math
				if m <= 2:
								snake_case_						:    Optional[int]				=  y - 1
								snake_case_						:    Tuple				=  m + 12
				# maths var
				snake_case_						:    Optional[int]				=  int(str(UpperCAmelCase_ )[:2] )
				snake_case_						:    Union[str, Any]				=  int(str(UpperCAmelCase_ )[2:] )
				snake_case_						:    int				=  int(2.6 * m - 5.39 )
				snake_case_						:    int				=  int(c / 4 )
				snake_case_						:    Optional[int]				=  int(k / 4 )
				snake_case_						:    Optional[Any]				=  int(d + k )
				snake_case_						:    Any				=  int(t + u + v + x )
				snake_case_						:    Optional[Any]				=  int(z - (2 * c) )
				snake_case_						:    Optional[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
				snake_case_						:    int				=  f'''Your date {date_input}, is a {days[str(UpperCAmelCase_ )]}!'''
				return response


if __name__ == "__main__":
	import doctest

	doctest.testmod()
	lowerCAmelCase_    =				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)'''
	)
	lowerCAmelCase_    =				parser.parse_args()
	zeller(args.date_input)




'''simple docstring'''

from __future__ import annotations





def __snake_case					(      UpperCAmelCase_						:						int		):
 lowerCamelCase_      =  2
 lowerCamelCase_      =  []
 while i * i <= n:
  if n % i:
   i += 1
  else:
   n //= i
   factors.append(UpperCAmelCase_		)
 if n > 1:
  factors.append(UpperCAmelCase_		)
 return factors


if __name__ == "__main__":
     import doctest

     doctest.testmod()



