




'''simple docstring'''
from __future__ import annotations

from pathlib import Path
def 							snake_case_    (  a__						:      int       ,a__						:      Dict     ):



    """simple docstring"""




    return pointa[0] * pointa[1] - pointa[1] * pointa[0]
def 							snake_case_    (  a__						:      Dict       ,a__						:      str       ,a__						:      List[str]       ,a__						:      str       ,a__						:      Optional[int]       ,a__						:      List[str]     ):



    """simple docstring"""




    __lowercase     							=		(xa, ya)
    __lowercase     							=		(xa - xa, ya - ya)
    __lowercase     							=		(xa - xa, ya - ya)
    __lowercase     							=		-vector_product(lowerCamelCase_       ,lowerCamelCase_     ) / vector_product(
        lowerCamelCase_       ,lowerCamelCase_     )
    __lowercase     							=		+vector_product(lowerCamelCase_       ,lowerCamelCase_     ) / vector_product(
        lowerCamelCase_       ,lowerCamelCase_     )

    return a > 0 and b > 0 and a + b < 1
def 							snake_case_    (  a__						:      Union[str, Any] = "p102_triangles.txt"     ):



    """simple docstring"""




    __lowercase     							=		Path(lowerCamelCase_     ).parent.joinpath(lowerCamelCase_     ).read_text(encoding="""utf-8"""     )

    __lowercase     							=		[]
    for line in data.strip().split("""\n"""     ):
        triangles.append([int(lowerCamelCase_     ) for number in line.split(""","""     )]     )

    __lowercase     							=		0
    __lowercase     							=		42

    for triangle in triangles:
        ret += contains_origin(*lowerCamelCase_     )

    return ret


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












"""simple docstring"""







from typing import TYPE_CHECKING

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


__a							:						int   							=			{
    'configuration_markuplm': ['MARKUPLM_PRETRAINED_CONFIG_ARCHIVE_MAP', 'MarkupLMConfig'],
    'feature_extraction_markuplm': ['MarkupLMFeatureExtractor'],
    'processing_markuplm': ['MarkupLMProcessor'],
    'tokenization_markuplm': ['MarkupLMTokenizer'],
}

try:
	if not is_tokenizers_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	__a							:						List[Any]   							=			['MarkupLMTokenizerFast']

try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	__a							:						List[Any]   							=			[
	    'MARKUPLM_PRETRAINED_MODEL_ARCHIVE_LIST',
	    'MarkupLMForQuestionAnswering',
	    'MarkupLMForSequenceClassification',
	    'MarkupLMForTokenClassification',
	    'MarkupLMModel',
	    'MarkupLMPreTrainedModel',
	]


if TYPE_CHECKING:
	from .configuration_markuplm import MARKUPLM_PRETRAINED_CONFIG_ARCHIVE_MAP, MarkupLMConfig
	from .feature_extraction_markuplm import MarkupLMFeatureExtractor
	from .processing_markuplm import MarkupLMProcessor
	from .tokenization_markuplm import MarkupLMTokenizer

	try:
		if not is_tokenizers_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .tokenization_markuplm_fast import MarkupLMTokenizerFast

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_markuplm import (
		    MARKUPLM_PRETRAINED_MODEL_ARCHIVE_LIST,
		    MarkupLMForQuestionAnswering,
		    MarkupLMForSequenceClassification,
		    MarkupLMForTokenClassification,
		    MarkupLMModel,
		    MarkupLMPreTrainedModel,
		)


else:
	import sys

	__a							:						Tuple   							=			_LazyModule(__name__, globals()['__file__'], _import_structure)


