



"""simple docstring"""







from __future__ import annotations

from typing import Generic, TypeVar

UpperCAmelCase:   str       			=							TypeVar("""T""")





class    UpperCamelCase     (			snake_case    ):




	"""simple docstring"""
	pass







class    UpperCamelCase     (			snake_case    ):




	"""simple docstring"""
	pass







class    UpperCamelCase     (			Generic[T]    ):




	"""simple docstring"""






	def __init__(			self							,UpperCAmelCase_ = 10					):
			_lowercase							:      list[T]			=					[]
			_lowercase							:      Optional[int]			=					limit






	def __bool__(			self					):
			return bool(self.stack					)






	def __str__(			self					):
			return str(self.stack					)






	def 					lowerCamelCase__ (			self							,UpperCAmelCase_					):
			if len(self.stack					) >= self.limit:
					raise StackOverflowError
			self.stack.append(UpperCAmelCase_					)






	def 					lowerCamelCase__ (			self					):
			if not self.stack:
					raise StackUnderflowError
			return self.stack.pop()






	def 					lowerCamelCase__ (			self					):
			if not self.stack:
					raise StackUnderflowError
			return self.stack[-1]






	def 					lowerCamelCase__ (			self					):
			return not bool(self.stack					)






	def 					lowerCamelCase__ (			self					):
			return self.size() == self.limit






	def 					lowerCamelCase__ (			self					):
			return len(self.stack					)






	def __contains__(			self							,UpperCAmelCase_					):
			return item in self.stack







def       __SCREAMING_SNAKE_CASE      (   ):
		_lowercase							:      Stack[int]			=					Stack(10	)
		assert bool(__UpperCAmelCase	) is False
		assert stack.is_empty() is True
		assert stack.is_full() is False
		assert str(__UpperCAmelCase	) == "[]"

		try:
				_lowercase							:      Optional[Any]			=					stack.pop()
				raise AssertionError  # This should not happen
		except StackUnderflowError:
				assert True  # This should happen

		try:
				_lowercase							:      Union[str, Any]			=					stack.peek()
				raise AssertionError  # This should not happen
		except StackUnderflowError:
				assert True  # This should happen

		for i in range(10	):
				assert stack.size() == i
				stack.push(__UpperCAmelCase	)

		assert bool(__UpperCAmelCase	)
		assert not stack.is_empty()
		assert stack.is_full()
		assert str(__UpperCAmelCase	) == str(list(range(10	)	)	)
		assert stack.pop() == 9
		assert stack.peek() == 8

		stack.push(100	)
		assert str(__UpperCAmelCase	) == str([0, 1, 2, 3, 4, 5, 6, 7, 8, 100]	)

		try:
				stack.push(200	)
				raise AssertionError  # This should not happen
		except StackOverflowError:
				assert True  # This should happen

		assert not stack.is_empty()
		assert stack.size() == 10

		assert 5 in stack
		assert 55 not in stack


if __name__ == "__main__":
		test_stack()








"""simple docstring"""







import requests
from bsa import BeautifulSoup


def       __SCREAMING_SNAKE_CASE      (   __UpperCAmelCase					,							__UpperCAmelCase	):
		_lowercase							:      Dict			=					(
		    """https://www.horoscope.com/us/horoscopes/general/"""
		    F"""horoscope-general-daily-{day}.aspx?sign={zodiac_sign}"""
		)
		_lowercase							:      Any			=					BeautifulSoup(requests.get(__UpperCAmelCase	).content					,							"""html.parser"""	)
		return soup.find("""div"""					,							class_="""main-horoscope"""	).p.text


if __name__ == "__main__":
		print("""Daily Horoscope. \n""")
		print(
		    """enter your Zodiac sign number:\n""",
		    """1. Aries\n""",
		    """2. Taurus\n""",
		    """3. Gemini\n""",
		    """4. Cancer\n""",
		    """5. Leo\n""",
		    """6. Virgo\n""",
		    """7. Libra\n""",
		    """8. Scorpio\n""",
		    """9. Sagittarius\n""",
		    """10. Capricorn\n""",
		    """11. Aquarius\n""",
		    """12. Pisces\n""",
		)
		UpperCAmelCase:   Union[str, Any]       			=							int(input("""number> """).strip())
		print("""choose some day:\n""", """yesterday\n""", """today\n""", """tomorrow\n""")
		UpperCAmelCase:   List[Any]       			=							input("""enter the day> """)
		UpperCAmelCase:   List[Any]       			=							horoscope(zodiac_sign, day)
		print(horoscope_text)



