



def        A       (      _lowerCamelCase       ,				_lowerCamelCase						):





							'''simple docstring'''




							_enforce_args(_lowerCamelCase       ,				_lowerCamelCase						)
							if n == 0:
														return 0
							_lowerCAmelCase  :							Optional[Any]				     =					float("-inf"						)
							for i in range(1       ,				n + 1						):
														_lowerCAmelCase  :							int				     =					max(
														    _lowerCamelCase       ,				prices[i - 1] + naive_cut_rod_recursive(n - i       ,				_lowerCamelCase						)						)

							return max_revue






def        A       (      _lowerCamelCase       ,				_lowerCamelCase						):





							'''simple docstring'''




							_enforce_args(_lowerCamelCase       ,				_lowerCamelCase						)
							_lowerCAmelCase  :							Union[str, Any]				     =					[float("-inf"						) for _ in range(n + 1						)]
							return _top_down_cut_rod_recursive(_lowerCamelCase       ,				_lowerCamelCase       ,				_lowerCamelCase						)






def        A       (      _lowerCamelCase       ,				_lowerCamelCase       ,				_lowerCamelCase						):





							'''simple docstring'''




							if max_rev[n] >= 0:
														return max_rev[n]
							elif n == 0:
														return 0
							else:
														_lowerCAmelCase  :							Optional[int]				     =					float("-inf"						)
														for i in range(1       ,				n + 1						):
																					_lowerCAmelCase  :							List[Any]				     =					max(
																					    _lowerCamelCase       ,				prices[i - 1] + _top_down_cut_rod_recursive(n - i       ,				_lowerCamelCase       ,				_lowerCamelCase						)       ,				)

														_lowerCAmelCase  :							List[Any]				     =					max_revenue

							return max_rev[n]






def        A       (      _lowerCamelCase       ,				_lowerCamelCase						):





							'''simple docstring'''




							_enforce_args(_lowerCamelCase       ,				_lowerCamelCase						)

							# length(max_rev) = n + 1, to accommodate for the revenue obtainable from a rod of
							# length 0.
							_lowerCAmelCase  :							Tuple				     =					[float("-inf"						) for _ in range(n + 1						)]
							_lowerCAmelCase  :							str				     =					0

							for i in range(1       ,				n + 1						):
														_lowerCAmelCase  :							Optional[int]				     =					max_rev[i]
														for j in range(1       ,				i + 1						):
																					_lowerCAmelCase  :							Union[str, Any]				     =					max(_lowerCamelCase       ,				prices[j - 1] + max_rev[i - j]						)

														_lowerCAmelCase  :							Tuple				     =					max_revenue_i

							return max_rev[n]






def        A       (      _lowerCamelCase       ,				_lowerCamelCase						):





							'''simple docstring'''




							if n < 0:
														_lowerCAmelCase  :							int				     =					F"n must be greater than or equal to 0. Got n = {n}"
														raise ValueError(_lowerCamelCase						)

							if n > len(_lowerCamelCase						):
														_lowerCAmelCase  :							Union[str, Any]				     =					(
														    "Each integral piece of rod must have a corresponding price. "
														    F"Got n = {n} but length of prices = {len(_lowerCamelCase						)}"
														)
														raise ValueError(_lowerCamelCase						)






def        A       (      ):





							'''simple docstring'''




							_lowerCAmelCase  :							Dict				     =					[6, 10, 12, 15, 20, 23]
							_lowerCAmelCase  :							Any				     =					len(_lowerCamelCase						)

							# the best revenue comes from cutting the rod into 6 pieces, each
							# of length 1 resulting in a revenue of 6 * 6 = 36.
							_lowerCAmelCase  :							int				     =					36

							_lowerCAmelCase  :							Any				     =					top_down_cut_rod(_lowerCamelCase       ,				_lowerCamelCase						)
							_lowerCAmelCase  :							List[Any]				     =					bottom_up_cut_rod(_lowerCamelCase       ,				_lowerCamelCase						)
							_lowerCAmelCase  :							List[str]				     =					naive_cut_rod_recursive(_lowerCamelCase       ,				_lowerCamelCase						)

							assert expected_max_revenue == max_rev_top_down
							assert max_rev_top_down == max_rev_bottom_up
							assert max_rev_bottom_up == max_rev_naive


if __name__ == "__main__":
						main()





import requests
from bsa import BeautifulSoup






def        A       (      _lowerCamelCase = "https://www.worldometers.info/coronavirus"						):





							'''simple docstring'''




							_lowerCAmelCase  :							str				     =					BeautifulSoup(requests.get(_lowerCamelCase						).text       ,				"html.parser"						)
							_lowerCAmelCase  :							str				     =					soup.findAll("h1"						)
							_lowerCAmelCase  :							Optional[int]				     =					soup.findAll("div"       ,				{"class": "maincounter-number"}						)
							keys += soup.findAll("span"       ,				{"class": "panel-title"}						)
							values += soup.findAll("div"       ,				{"class": "number-table-main"}						)
							return {key.text.strip(): value.text.strip() for key, value in zip(_lowerCamelCase       ,				_lowerCamelCase						)}


if __name__ == "__main__":
						print("\033[1m" + "COVID-19 Status of the World" + "\033[0m\n")
						for key, value in world_covidaa_stats().items():
												print(f'''{key}\n{value}\n''')
