




'''simple docstring'''



from typing import TYPE_CHECKING

# rely on isort to merge the imports
from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


lowerCamelCase_									=		{"""configuration_focalnet""": ["""FOCALNET_PRETRAINED_CONFIG_ARCHIVE_MAP""", """FocalNetConfig"""]}


try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 lowerCamelCase_									=		[
     """FOCALNET_PRETRAINED_MODEL_ARCHIVE_LIST""",
     """FocalNetForImageClassification""",
     """FocalNetForMaskedImageModeling""",
     """FocalNetBackbone""",
     """FocalNetModel""",
     """FocalNetPreTrainedModel""",
 ]

if TYPE_CHECKING:
 from .configuration_focalnet import FOCALNET_PRETRAINED_CONFIG_ARCHIVE_MAP, FocalNetConfig

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_focalnet import (
      FOCALNET_PRETRAINED_MODEL_ARCHIVE_LIST,
      FocalNetBackbone,
      FocalNetForImageClassification,
      FocalNetForMaskedImageModeling,
      FocalNetModel,
      FocalNetPreTrainedModel,
  )

else:
 import sys

 lowerCamelCase_									=		_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)







"""simple docstring"""




def        a__					(							snake_case__ = 50_00_00_00							)		->   int:
			lowerCamelCase      =   set()
			lowerCamelCase      =   int((limit - 24) ** (1 / 2)							)

			lowerCamelCase      =   set(range(3			,					prime_square_limit + 1			,					2							)							)
			primes.add(2							)
			for p in range(3			,					prime_square_limit + 1			,					2							):
						if p not in primes:
									continue
						primes.difference_update(set(range(p * p			,					prime_square_limit + 1			,					snake_case__							)							)							)

			for primea in primes:
						lowerCamelCase      =   primea * primea
						for primea in primes:
									lowerCamelCase      =   primea * primea * primea
									if square + cube >= limit - 16:
												break
									for primea in primes:
												lowerCamelCase      =   primea * primea * primea * primea
												lowerCamelCase      =   square + cube + tetr
												if total >= limit:
															break
												ret.add(snake_case__							)

			return len(snake_case__							)


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



