



def 	snake_case__       (					__lowercase							,     __lowercase       )		->		bool:







						"""simple docstring"""

						A__	:							Any						    = len(__lowercase       ) + 1
						A__	:							Dict						    = len(__lowercase       ) + 1

						# dp is a 2d matrix where dp[i][j] denotes whether prefix string of
						# length i of input_string matches with prefix string of length j of
						# given pattern.
						# "dp" stands for dynamic programming.
						A__	:							List[str]						    = [[0 for i in range(__lowercase       )] for j in range(__lowercase       )]

						# since string of zero length match pattern of zero length
						A__	:							int						    = 1

						# since pattern of zero length will never match with string of non-zero length
						for i in range(1							,     __lowercase       ):
												A__	:							int						    = 0

						# since string of zero length will match with pattern where there
						# is at least one * alternatively
						for j in range(1							,     __lowercase       ):
												A__	:							Dict						    = dp[0][j - 2] if pattern[j - 1] == "*" else 0

						# now using bottom-up approach to find for all remaining lengths
						for i in range(1							,     __lowercase       ):
												for j in range(1							,     __lowercase       ):
																		if input_string[i - 1] == pattern[j - 1] or pattern[j - 1] == ".":
																								A__	:							Union[str, Any]						    = dp[i - 1][j - 1]

																		elif pattern[j - 1] == "*":
																								if dp[i][j - 2] == 1:
																														A__	:							str						    = 1
																								elif pattern[j - 2] in (input_string[i - 1], "."):
																														A__	:							Tuple						    = dp[i - 1][j]
																								else:
																														A__	:							Dict						    = 0
																		else:
																								A__	:							Dict						    = 0

						return bool(dp[-1][-1]       )


if __name__ == "__main__":
		import doctest

		doctest.testmod()
		# inputing the strings
		# input_string = input("input a string :")
		# pattern = input("input a pattern :")

		snake_case    :						List[Any]  =						'aab'
		snake_case    :						Optional[int]  =						'c*a*b'

		# using function to check whether given string matches the given pattern
		if match_pattern(input_string, pattern):
				print(f"""{input_string} matches the given pattern {pattern}""")
		else:
				print(f"""{input_string} does not match with the given pattern {pattern}""")




import requests

snake_case    :						int  =						''  # <-- Put your OpenWeatherMap appid here!
snake_case    :						int  =						'https://api.openweathermap.org/data/2.5/'
def 	snake_case__       (					__lowercase = "Chicago"							,     __lowercase = APPID       )		->		dict:







						"""simple docstring"""

						return requests.get(URL_BASE + "weather"							,     params=locals()       ).json()
def 	snake_case__       (					__lowercase = "Kolkata, India"							,     __lowercase = APPID       )		->		dict:







						"""simple docstring"""

						return requests.get(URL_BASE + "forecast"							,     params=locals()       ).json()
def 	snake_case__       (					__lowercase = 55.68							,     __lowercase = 12.57							,     __lowercase = APPID       )		->		dict:







						"""simple docstring"""

						return requests.get(URL_BASE + "onecall"							,     params=locals()       ).json()


if __name__ == "__main__":
		from pprint import pprint

		while True:
				snake_case    :						int  =						input('Enter a location:').strip()
				if location:
						pprint(current_weather(location))
				else:
						break