






import argparse
import datetime







def     a_   (__A      )				->						str:



					"""simple docstring"""
					__a					:						Union[str, Any]      =					{
					    "0": "Sunday",
					    "1": "Monday",
					    "2": "Tuesday",
					    "3": "Wednesday",
					    "4": "Thursday",
					    "5": "Friday",
					    "6": "Saturday",
					}

					__a					:						Union[str, Any]      =					{0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 0}

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

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

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

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

					# Get year
					__a					:						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
					__a					:						Dict      =					datetime.date(int(__A      )				,       int(__A      )				,       int(__A      )      )

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













def     a_   (__A				,       __A				,       __A				,       __A      )				->						int:



					"""simple docstring"""
					__a      ,			__a					:						Any      =					len(__A      ), len(grid[0]      )
					if (
					    min(__A				,       __A      ) < 0
					    or row == row_length
					    or col == col_length
					    or (row, col) in visit
					    or grid[row][col] == 1
					):
										return 0
					if row == row_length - 1 and col == col_length - 1:
										return 1

					visit.add((row, col)      )

					__a					:						Dict      =					0
					count += depth_first_search(__A				,       row + 1				,       __A				,       __A      )
					count += depth_first_search(__A				,       row - 1				,       __A				,       __A      )
					count += depth_first_search(__A				,       __A				,       col + 1				,       __A      )
					count += depth_first_search(__A				,       __A				,       col - 1				,       __A      )

					visit.remove((row, col)      )
					return count


if __name__ == "__main__":
			import doctest

			doctest.testmod()





