from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_tokenizers_available, is_torch_available


UpperCAmelCase      		=					{
    '''configuration_nystromformer''': ['''NYSTROMFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''NystromformerConfig'''],
}

try:
 if not is_torch_available():
  raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
 pass
else:
 UpperCAmelCase      		=					[
     '''NYSTROMFORMER_PRETRAINED_MODEL_ARCHIVE_LIST''',
     '''NystromformerForMaskedLM''',
     '''NystromformerForMultipleChoice''',
     '''NystromformerForQuestionAnswering''',
     '''NystromformerForSequenceClassification''',
     '''NystromformerForTokenClassification''',
     '''NystromformerLayer''',
     '''NystromformerModel''',
     '''NystromformerPreTrainedModel''',
 ]


if TYPE_CHECKING:
 from .configuration_nystromformer import NYSTROMFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP, NystromformerConfig

 try:
  if not is_torch_available():
   raise OptionalDependencyNotAvailable()
 except OptionalDependencyNotAvailable:
  pass
 else:
  from .modeling_nystromformer import (
      NYSTROMFORMER_PRETRAINED_MODEL_ARCHIVE_LIST,
      NystromformerForMaskedLM,
      NystromformerForMultipleChoice,
      NystromformerForQuestionAnswering,
      NystromformerForSequenceClassification,
      NystromformerForTokenClassification,
      NystromformerLayer,
      NystromformerModel,
      NystromformerPreTrainedModel,
  )


else:
 import sys

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







'''simple docstring'''




from itertools import combinations, product

def       __UpperCamelCase     (     _A     :					int       , _A     :					int       , _A     :					int       , _A     :					int					)     ->   bool:




	"""simple docstring"""





	if xa == ya == 0 or xa == ya == 0:
		return False
	lowerCAmelCase       :     Optional[Any]   				=			xa * xa + ya * ya
	lowerCAmelCase       :     Tuple   				=			xa * xa + ya * ya
	lowerCAmelCase       :     List[str]   				=			(xa - xa) * (xa - xa) + (ya - ya) * (ya - ya)
	return (
	    a_square + b_square == c_square
	    or a_square + c_square == b_square
	    or b_square + c_square == a_square
	)

def       __UpperCamelCase     (     _A     :					int = 50					)     ->   int:




	"""simple docstring"""





	return sum(
	    1
	    for pta, pta in combinations(product(range(limit + 1					)       , repeat=2					)       , 2					)
	    if is_right(*_A       , *_A					)					)


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