





'''simple docstring'''


import argparse
import datetime


def 	__a(SCREAMING_SNAKE_CASE_  :					str    ):



    '''simple docstring'''





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

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

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

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

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

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

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


if __name__ == "__main__":
       import doctest

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









'''simple docstring'''


def 	__a(SCREAMING_SNAKE_CASE_  :					list[int]		,       SCREAMING_SNAKE_CASE_  :					list[int]		,       SCREAMING_SNAKE_CASE_  :					int    ):



    '''simple docstring'''





    return not any(
        neighbour == 1 and colored_vertices[i] == color
        for i, neighbour in enumerate(SCREAMING_SNAKE_CASE_    )    )


def 	__a(SCREAMING_SNAKE_CASE_  :					list[list[int]]		,       SCREAMING_SNAKE_CASE_  :					int		,       SCREAMING_SNAKE_CASE_  :					list[int]		,       SCREAMING_SNAKE_CASE_  :					int    ):



    '''simple docstring'''





    if index == len(SCREAMING_SNAKE_CASE_    ):
        return True

    # Recursive Step
    for i in range(SCREAMING_SNAKE_CASE_    ):
        if valid_coloring(graph[index]		,       SCREAMING_SNAKE_CASE_		,       SCREAMING_SNAKE_CASE_    ):
            # Color current vertex
            _lowerCAmelCase				=      i
            # Validate coloring
            if util_color(SCREAMING_SNAKE_CASE_		,       SCREAMING_SNAKE_CASE_		,       SCREAMING_SNAKE_CASE_		,       index + 1    ):
                return True
            # Backtrack
            _lowerCAmelCase				=      -1
    return False





def 	__a(SCREAMING_SNAKE_CASE_  :					list[list[int]]		,       SCREAMING_SNAKE_CASE_  :					int    ):



    '''simple docstring'''





    _lowerCAmelCase				=      [-1] * len(SCREAMING_SNAKE_CASE_    )

    if util_color(SCREAMING_SNAKE_CASE_		,       SCREAMING_SNAKE_CASE_		,       SCREAMING_SNAKE_CASE_		,       0    ):
        return colored_vertices

    return []


