
"""simple docstring"""



import sys

from .dependency_versions_table import deps
from .utils.versions import require_version, require_version_core


# define which module versions we always want to check at run time
# (usually the ones defined in `install_requires` in setup.py)
#
# order specific notes:
# - tqdm must be checked before tokenizers

_snake_case          =						'python tqdm regex requests packaging filelock numpy tokenizers'.split()
if sys.version_info < (3, 7):
 pkgs_to_check_at_runtime.append('''dataclasses''')
if sys.version_info < (3, 8):
 pkgs_to_check_at_runtime.append('''importlib_metadata''')

for pkg in pkgs_to_check_at_runtime:
 if pkg in deps:
  if pkg == "tokenizers":
   # must be loaded here, or else tqdm check may fail
   from .utils import is_tokenizers_available

   if not is_tokenizers_available():
    continue  # not required, check version only if installed

  require_version_core(deps[pkg])
 else:
  raise ValueError(f'can\'t find {pkg} in {deps.keys()}, check dependency_versions_table.py')






def 	__snake_case  (    SCREAMING_SNAKE_CASE:					Optional[Any]     ,  SCREAMING_SNAKE_CASE:					Dict=None						):






       """simple docstring"""



       require_version(deps[pkg]     ,  _SCREAMING_SNAKE_CASE						)








"""simple docstring"""



def 	__snake_case  (    SCREAMING_SNAKE_CASE:					str						):






							"""simple docstring"""



							_lowerCAmelCase  	=			[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						) <= 254 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.')






