
import argparse
import datetime




def 				a						(							snake_case__:					str					):


				'''simple docstring'''
				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(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 < 8_500:
								raise ValueError(
								    '''Year out of range. There has to be some sort of limit...right?'''					)

				# Get datetime obj for validation
				lowercase_       =					datetime.date(int(snake_case__					)						,   int(snake_case__					)						,   int(snake_case__					)					)

				# Start math
				if m <= 2:
								lowercase_       =					y - 1
								lowercase_       =					m + 12
				# maths var
				lowercase_       =					int(str(snake_case__					)[:2]					)
				lowercase_       =					int(str(snake_case__					)[2:]					)
				lowercase_       =					int(2.6 * m - 5.3_9					)
				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(snake_case__					)]}!'''
				return response


if __name__ == "__main__":
						import doctest

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






def 				a						(							snake_case__:					int = 100					):


				'''simple docstring'''
				lowercase_       =					(n * (n + 1) // 2) ** 2
				lowercase_       =					n * (n + 1) * (2 * n + 1) // 6
				return sum_cubes - sum_squares


if __name__ == "__main__":
						print(f"{solution() = }")




