

"""simple docstring"""





import math

class      __a :

			"""simple docstring"""

			def __init__(				self  :       Tuple    ,	lowercase_  :       Any    ):
								UpperCamelCase__		:     List[Any]								=len(lowercase_    )
								UpperCamelCase__		:     Optional[Any]								=[0] * (
								    4 * self.N
								)  # approximate the overall size of segment tree with array N
								self.build(1    ,	0    ,	self.N - 1    )






			def  _lowerCAmelCase      (				self  :       List[str]    ,	lowercase_  :       Union[str, Any]    ):
								return idx * 2






			def  _lowerCAmelCase      (				self  :       Any    ,	lowercase_  :       Union[str, Any]    ):
								return idx * 2 + 1






			def  _lowerCAmelCase      (				self  :       Optional[int]    ,	lowercase_  :       Union[str, Any]    ,	lowercase_  :       Optional[int]    ,	lowercase_  :       Any    ):  # noqa: E741
								if l == r:
													UpperCamelCase__		:     str								=A[l]
								else:
													UpperCamelCase__		:     int								=(l + r) // 2
													self.build(self.left(lowercase_    )    ,	lowercase_    ,	lowercase_    )
													self.build(self.right(lowercase_    )    ,	mid + 1    ,	lowercase_    )
													UpperCamelCase__		:     int								=max(self.st[self.left(lowercase_    )]    ,	self.st[self.right(lowercase_    )]    )






			def  _lowerCAmelCase      (				self  :       Optional[Any]    ,	lowercase_  :       Optional[Any]    ,	lowercase_  :       Optional[int]    ,	lowercase_  :       List[str]    ):
								return self.update_recursive(1    ,	0    ,	self.N - 1    ,	a - 1    ,	b - 1    ,	lowercase_    )






			def  _lowerCAmelCase      (				self  :       Dict    ,	lowercase_  :       Union[str, Any]    ,	lowercase_  :       Optional[int]    ,	lowercase_  :       Optional[Any]    ,	lowercase_  :       str    ,	lowercase_  :       Dict    ,	lowercase_  :       str    ):  # noqa: E741
								if r < a or l > b:
													return True
								if l == r:
													UpperCamelCase__		:     Dict								=val
													return True
								UpperCamelCase__		:     Any								=(l + r) // 2
								self.update_recursive(self.left(lowercase_    )    ,	lowercase_    ,	lowercase_    ,	lowercase_    ,	lowercase_    ,	lowercase_    )
								self.update_recursive(self.right(lowercase_    )    ,	mid + 1    ,	lowercase_    ,	lowercase_    ,	lowercase_    ,	lowercase_    )
								UpperCamelCase__		:     Dict								=max(self.st[self.left(lowercase_    )]    ,	self.st[self.right(lowercase_    )]    )
								return True






			def  _lowerCAmelCase      (				self  :       List[Any]    ,	lowercase_  :       Tuple    ,	lowercase_  :       Union[str, Any]    ):
								return self.query_recursive(1    ,	0    ,	self.N - 1    ,	a - 1    ,	b - 1    )






			def  _lowerCAmelCase      (				self  :       Tuple    ,	lowercase_  :       Optional[Any]    ,	lowercase_  :       Optional[Any]    ,	lowercase_  :       Tuple    ,	lowercase_  :       Dict    ,	lowercase_  :       List[Any]    ):  # noqa: E741
								if r < a or l > b:
													return -math.inf
								if l >= a and r <= b:
													return self.st[idx]
								UpperCamelCase__		:     Union[str, Any]								=(l + r) // 2
								UpperCamelCase__		:     List[str]								=self.query_recursive(self.left(lowercase_    )    ,	lowercase_    ,	lowercase_    ,	lowercase_    ,	lowercase_    )
								UpperCamelCase__		:     List[Any]								=self.query_recursive(self.right(lowercase_    )    ,	mid + 1    ,	lowercase_    ,	lowercase_    ,	lowercase_    )
								return max(lowercase_    ,	lowercase_    )






			def  _lowerCAmelCase      (				self  :       List[str]    ):
								UpperCamelCase__		:     Optional[Any]								=[]
								for i in range(1    ,	N + 1    ):
													show_list += [self.query(lowercase_    ,	lowercase_    )]
								print(lowercase_    )


if __name__ == "__main__":
				_SCREAMING_SNAKE_CASE							:	Tuple										=			[1, 2, -4, 7, 3, -5, 6, 1_1, -2_0, 9, 1_4, 1_5, 5, 2, -8]
				_SCREAMING_SNAKE_CASE							:	Any										=			1_5
				_SCREAMING_SNAKE_CASE							:	List[str]										=			SegmentTree(A)
				print(segt.query(4, 6))
				print(segt.query(7, 1_1))
				print(segt.query(7, 1_2))
				segt.update(1, 3, 1_1_1)
				print(segt.query(1, 1_5))
				segt.update(7, 8, 2_3_5)
				segt.show_data()





"""simple docstring"""





import requests
from bsa import BeautifulSoup



def 							_lowerCAmelCase   (    UpperCAmelCase  :				int   ,				UpperCAmelCase  :				str					):


					'''simple docstring'''






					UpperCamelCase__		:     Any								=(
					    '''https://www.horoscope.com/us/horoscopes/general/'''
					    F'''horoscope-general-daily-{day}.aspx?sign={zodiac_sign}'''
					)
					UpperCamelCase__		:     List[str]								=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""",
				)
				_SCREAMING_SNAKE_CASE							:	Any										=			int(input("""number> """).strip())
				print("""choose some day:\n""", """yesterday\n""", """today\n""", """tomorrow\n""")
				_SCREAMING_SNAKE_CASE							:	List[str]										=			input("""enter the day> """)
				_SCREAMING_SNAKE_CASE							:	Dict										=			horoscope(zodiac_sign, day)
				print(horoscope_text)


