






"""simple docstring"""







import argparse
import datetime





def 						lowercase__(A						)    ->str:




						"""simple docstring"""



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

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

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

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

						# Get year
						lowercase__    :				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
						lowercase__    :				Tuple=	datetime.date(int(A						) ,		int(A						) ,		int(A						)						)

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


if __name__ == "__main__":
			import doctest

			doctest.testmod()
			a			:    List[str]				 =		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			:    Any				 =		parser.parse_args()
			zeller(args.date_input)














"""simple docstring"""







from __future__ import annotations





def 						lowercase__(A						)    ->int:




						"""simple docstring"""



						for i in range(1 ,		len(matrix[0]						)						):
												matrix[0][i] += matrix[0][i - 1]

						# preprocessing the first column
						for i in range(1 ,		len(A						)						):
												matrix[i][0] += matrix[i - 1][0]

						# updating the path cost for current position
						for i in range(1 ,		len(A						)						):
												for j in range(1 ,		len(matrix[0]						)						):
																		matrix[i][j] += min(matrix[i - 1][j] ,		matrix[i][j - 1]						)

						return matrix[-1][-1]


if __name__ == "__main__":
			import doctest

			doctest.testmod()






