





snake_case_     :   Union[str, Any]							=			'''Input must be a string of 8 numbers plus letter'''
snake_case_     :   Union[str, Any]							=			'''TRWAGMYFPDXBNJZSQVHLCKE'''


def 					A__	(       SCREAMING_SNAKE_CASE_		)   ->     bool:

		if not isinstance(SCREAMING_SNAKE_CASE_							,       SCREAMING_SNAKE_CASE_		):
				lowerCamelCase   : Dict								=F"Expected string as input, found {type(SCREAMING_SNAKE_CASE_		).__name__}"
				raise TypeError(SCREAMING_SNAKE_CASE_		)

		lowerCamelCase   : Union[str, Any]								=spanish_id.replace('''-'''							,       ''''''		).upper()
		if len(SCREAMING_SNAKE_CASE_		) != 9:
				raise ValueError(SCREAMING_SNAKE_CASE_		)

		try:
				lowerCamelCase   : List[Any]								=int(spanish_id_clean[0:8]		)
				lowerCamelCase   : Dict								=spanish_id_clean[8]
		except ValueError as ex:
				raise ValueError(SCREAMING_SNAKE_CASE_		) from ex

		if letter.isdigit():
				raise ValueError(SCREAMING_SNAKE_CASE_		)

		return letter == LOOKUP_LETTERS[number % 2_3]


if __name__ == "__main__":
				import doctest

				doctest.testmod()








def 					A__	(       SCREAMING_SNAKE_CASE_		)   ->     bool:
		lowerCamelCase   : Optional[Any]								=[int(SCREAMING_SNAKE_CASE_		) for i in ip_va_address.split('''.'''		) if i.isdigit()]
		return len(SCREAMING_SNAKE_CASE_		) == 4 and all(0 <= int(SCREAMING_SNAKE_CASE_		) <= 2_5_4 for octet in octets		)


if __name__ == "__main__":
				snake_case_							=			input().strip()
				snake_case_							=			'''valid''' if is_ip_va_address_valid(ip) else '''invalid'''
				print(F"""{ip} is a {valid_or_invalid} IP v4 address.""")

