





def 					A__	(       SCREAMING_SNAKE_CASE_							,       SCREAMING_SNAKE_CASE_		)   ->     str:


		while a != 0:
				lowerCamelCase   : str								=b % a, a
		return b



def 					A__	(       SCREAMING_SNAKE_CASE_							,       SCREAMING_SNAKE_CASE_		)   ->     Optional[int]:


		if gcd(_lowerCamelCase							,       _lowerCamelCase		) != 1:
				lowerCamelCase   : List[str]								=F"mod inverse of {a!r} and {m!r} does not exist"
				raise ValueError(_lowerCamelCase		)
		lowerCamelCase   : int								=1, 0, a
		lowerCamelCase   : Tuple								=0, 1, m
		while va != 0:
				lowerCamelCase   : int								=ua // va
				lowerCamelCase   : Dict								=(ua - q * va), (ua - q * va), (ua - q * va), va, va, va
		return ua % m








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.""")

