'''simple docstring'''




from __future__ import annotations

from pathlib import Path





def 	_UpperCAmelCase       (				_UpperCamelCase       :      tuple[int, int],  _UpperCamelCase       :      tuple[int, int]  )      -> int:
    return pointa[0] * pointa[1] - pointa[1] * pointa[0]





def 	_UpperCAmelCase       (				_UpperCamelCase       :      int,  _UpperCamelCase       :      int,  _UpperCamelCase       :      int,  _UpperCamelCase       :      int,  _UpperCamelCase       :      int,  _UpperCamelCase       :      int  )      -> bool:
    A_      =  (xa, ya)
    A_      =  (xa - xa, ya - ya)
    A_      =  (xa - xa, ya - ya)
    A_      =  -vector_product(lowercase_,  lowercase_  ) / vector_product(
        lowercase_,  lowercase_  )
    A_      =  +vector_product(lowercase_,  lowercase_  ) / vector_product(
        lowercase_,  lowercase_  )

    return a > 0 and b > 0 and a + b < 1





def 	_UpperCAmelCase       (				_UpperCamelCase       :      str = "p102_triangles.txt"  )      -> int:
    A_      =  Path(lowercase_  ).parent.joinpath(lowercase_  ).read_text(encoding='''utf-8'''  )

    A_      =  []
    for line in data.strip().split('''\n'''  ):
        triangles.append([int(lowercase_  ) for number in line.split(''','''  )]  )

    A_      =  0
    A_      =  42

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

    return ret


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







"""simple docstring"""







from transformers.models.cpm.tokenization_cpm import CpmTokenizer
from transformers.testing_utils import custom_tokenizers

from ..xlnet.test_modeling_xlnet import XLNetModelTest






@custom_tokenizers
class      _SCREAMING_SNAKE_CASE							(			UpperCAmelCase				):



   '''simple docstring'''



   def    _A				(	self ,				_SCREAMING_SNAKE_CASE ,				_SCREAMING_SNAKE_CASE ,				_SCREAMING_SNAKE_CASE ,				_SCREAMING_SNAKE_CASE ,				_SCREAMING_SNAKE_CASE	):


      '''simple docstring'''

      return True







   def    _A				(	self	):


      '''simple docstring'''

      __lowerCamelCase    		=					CpmTokenizer.from_pretrained('TsinghuaAI/CPM-Generate'	)
      __lowerCamelCase    		=					'Hugging Face大法好，谁用谁知道。'
      __lowerCamelCase    		=					'Hugging Face大法好,谁用谁知道。<unk>'
      __lowerCamelCase    		=					'▁Hu gg ing ▁ ▂ ▁F ace ▁大法 ▁好 ▁ , ▁谁 ▁用 ▁谁 ▁知 道 ▁ 。'.split()

      __lowerCamelCase    		=					tokenizer.tokenize(_SCREAMING_SNAKE_CASE	)
      self.assertListEqual(_SCREAMING_SNAKE_CASE ,				_SCREAMING_SNAKE_CASE	)

      __lowerCamelCase    		=					tokens + [tokenizer.unk_token]

      __lowerCamelCase    		=					[13789, 13283, 1421, 8, 10, 1164, 13608, 16528, 63, 8, 9, 440, 108, 440, 121, 90, 8, 12, 0]
      self.assertListEqual(tokenizer.convert_tokens_to_ids(_SCREAMING_SNAKE_CASE	) ,				_SCREAMING_SNAKE_CASE	)

      __lowerCamelCase    		=					tokenizer.decode(_SCREAMING_SNAKE_CASE	)
      self.assertEqual(_SCREAMING_SNAKE_CASE ,				_SCREAMING_SNAKE_CASE	)






