






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

lowerCAmelCase_           = '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		(							UpperCAmelCase	:       Any,						UpperCAmelCase	:       Optional[Any]=None   ):
				require_version(deps[pkg],						UpperCAmelCase   )













from itertools import permutations







def      snake_case		(							UpperCAmelCase	:       tuple   ):
				if num[3] % 2 != 0:
								return False

				if (num[2] + num[3] + num[4]) % 3 != 0:
								return False

				if num[5] % 5 != 0:
								return False

				A	 =      [7, 11, 13, 17]
				for i, test in enumerate(UpperCAmelCase   ):
								if (num[i + 4] * 1_00 + num[i + 5] * 10 + num[i + 6]) % test != 0:
												return False
				return True







def      snake_case		(							UpperCAmelCase	:       int = 10   ):
				return sum(
				    int(''.join(map(UpperCAmelCase,						UpperCAmelCase   )   )   )
				    for num in permutations(range(UpperCAmelCase   )   )
				    if is_substring_divisible(UpperCAmelCase   )   )


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





