





import functools






def 		lowerCAmelCase  (	UpperCamelCase__   :   str       ,			UpperCamelCase__   :   str					)      ->    int:

						"""simple docstring"""





						__SCREAMING_SNAKE_CASE:				int           =   len(UpperCamelCase__					)
						__SCREAMING_SNAKE_CASE:				str           =   len(UpperCamelCase__					)

						@functools.cache
						def min_distance(UpperCamelCase__   :   int       ,			UpperCamelCase__   :   int					) -> int:
												# if first word index is overflow - delete all from the second word
												if indexa >= len_worda:
																		return len_worda - indexa
												# if second word index is overflow - delete all from the first word
												if indexa >= len_worda:
																		return len_worda - indexa
												__SCREAMING_SNAKE_CASE:				Tuple           =   int(worda[indexa] != worda[indexa]					)  # current letters not identical
												return min(
												    1 + min_distance(indexa + 1       ,			UpperCamelCase__					)       ,			1 + min_distance(UpperCamelCase__       ,			indexa + 1					)       ,			diff + min_distance(indexa + 1       ,			indexa + 1					)       ,			)

						return min_distance(0       ,			0					)


if __name__ == "__main__":
							import doctest

							doctest.testmod()










import re






def 		lowerCAmelCase  (	UpperCamelCase__   :   str					)      ->    bool:

						"""simple docstring"""





						__SCREAMING_SNAKE_CASE:				Optional[int]           =   re.compile(
						    R'''^(?:0|94|\+94|0{2}94)''' R'''7(0|1|2|4|5|6|7|8)''' R'''(-| |)''' R'''\d{7}$'''					)

						return bool(re.search(UpperCamelCase__       ,			UpperCamelCase__					)					)


if __name__ == "__main__":
							lowerCAmelCase							:       str					 =	"""0094702343221"""

							print(is_sri_lankan_phone_number(phone))



