





import argparse
import datetime



def  SCREAMING_SNAKE_CASE				(      snake_case							)		->    Dict:
		__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(__UpperCAmelCase							) < 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(__UpperCAmelCase							)						,   int(__UpperCAmelCase							)						,   int(__UpperCAmelCase							)							)

		# Start math
		if m <= 2:
				__lowercase											=     y - 1
				__lowercase											=     m + 12
		# maths var
		__lowercase											=     int(str(__UpperCAmelCase							)[:2]							)
		__lowercase											=     int(str(__UpperCAmelCase							)[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(__UpperCAmelCase							)]}!"
		return response


if __name__ == "__main__":
		import doctest

		doctest.testmod()
		SCREAMING_SNAKE_CASE_   :      Any			=   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_   :      int			=   parser.parse_args()
		zeller(args.date_input)









from __future__ import annotations

import requests






def     __a					(		__UpperCAmelCase       ):
 a__												= f"https://hacker-news.firebaseio.com/v0/item/{story_id}.json?print=pretty"
 return requests.get(__UpperCAmelCase       ).json()






def     __a					(		__UpperCAmelCase = 10       ):
 a__												= '''https://hacker-news.firebaseio.com/v0/topstories.json?print=pretty'''
 a__												= requests.get(__UpperCAmelCase       ).json()[:max_stories]
 return [get_hackernews_story(__UpperCAmelCase       ) for story_id in story_ids]






def     __a					(		__UpperCAmelCase = 10       ):
 a__												= hackernews_top_stories(__UpperCAmelCase       )
 return "\n".join('''* [{title}]({url})'''.format(**__UpperCAmelCase       ) for story in stories       )


if __name__ == "__main__":
     print(hackernews_top_stories_as_markdown())





