
import argparse
import datetime






def 				UpperCAmelCase_						(				__SCREAMING_SNAKE_CASE				):
	lowercase	    =       {
	    '0': 'Sunday',
	    '1': 'Monday',
	    '2': 'Tuesday',
	    '3': 'Wednesday',
	    '4': 'Thursday',
	    '5': 'Friday',
	    '6': 'Saturday',
	}

	lowercase	    =       {0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 0}

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

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

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

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

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

	# Get year
	lowercase	    =       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
	lowercase	    =       datetime.date(int(__SCREAMING_SNAKE_CASE				)					,				int(__SCREAMING_SNAKE_CASE				)					,				int(__SCREAMING_SNAKE_CASE				)				)

	# Start math
	if m <= 2:
		lowercase	    =       y - 1
		lowercase	    =       m + 12
	# maths var
	lowercase	    =       int(str(__SCREAMING_SNAKE_CASE				)[:2]				)
	lowercase	    =       int(str(__SCREAMING_SNAKE_CASE				)[2:]				)
	lowercase	    =       int(2.6 * m - 5.39				)
	lowercase	    =       int(c / 4				)
	lowercase	    =       int(k / 4				)
	lowercase	    =       int(d + k				)
	lowercase	    =       int(t + u + v + x				)
	lowercase	    =       int(z - (2 * c)				)
	lowercase	    =       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
	lowercase	    =       F'''Your date {date_input}, is a {days[str(__SCREAMING_SNAKE_CASE				)]}!'''
	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'''
from math import ceil


def       _lowercase							(					UpperCamelCase__							:       int = 1001      ):
 __A	:		int	  =      1

 for i in range(1,					int(ceil(n / 2.0      )      )      ):
  __A	:		Any	  =      2 * i + 1
  __A	:		List[str]	  =      2 * i
  __A	:		str	  =      total + 4 * odd**2 - 6 * even

 return total


if __name__ == "__main__":
 import sys

 if len(sys.argv) == 1:
  print(solution())
 else:
  try:
   UpperCAmelCase_			:  int										=   int(sys.argv[1])
   print(solution(n))
  except ValueError:
   print('Invalid entry - please enter a number')






