





def       A__(		__lowerCAmelCase	,			__lowerCAmelCase ):
				_snake_case :			Union[str, Any]  						=   len(__lowerCAmelCase )
				_snake_case :			Union[str, Any]  						=   len(__lowerCAmelCase )
				_snake_case :			Optional[Any]  						=   [[False for _ in range(m + 1 )] for _ in range(n + 1 )]
				_snake_case :			Optional[int]  						=   True
				for i in range(__lowerCAmelCase ):
								for j in range(m + 1 ):
												if dp[i][j]:
																if j < m and a[i].upper() == b[j]:
																				_snake_case :			List[str]  						=   True
																if a[i].islower():
																				_snake_case :			Optional[int]  						=   True
				return dp[n][m]


if __name__ == "__main__":
		import doctest

		doctest.testmod()













import itertools
import math

def       A__(		__lowerCAmelCase ):

				if 1 < number < 4:
								# 2 and 3 are primes
								return True
				elif number < 2 or number % 2 == 0 or number % 3 == 0:
								# Negatives, 0, 1, all even numbers, all multiples of 3 are not primes
								return False

				# All primes number are in format of 6k +/- 1
				for i in range(5	,			int(math.sqrt(__lowerCAmelCase ) + 1 )	,			6 ):
								if number % i == 0 or number % (i + 2) == 0:
												return False
				return True

def       A__(		):
				_snake_case :			Optional[Any]  						=   2
				while True:
								if is_prime(__lowerCAmelCase ):
												yield num
								num += 1

def       A__(		__lowerCAmelCase = 1_00_01 ):
				return next(itertools.islice(prime_generator()	,			nth - 1	,			__lowerCAmelCase ) )


if __name__ == "__main__":
		print(F'''{solution() = }''')






