

'''simple docstring'''

import math

def 				__UpperCamelCase							(	lowercase__						:  Union[str, Any] ):






     '''simple docstring'''





     if n <= 0:
          raise ValueError('Only positive integers have prime factors' )
     __lowercase					=[]
     while n % 2 == 0:
          pf.append(2 )
          __lowercase					=int(n / 2 )
     for i in range(3,					int(math.sqrt(__a ) ) + 1,					2 ):
          while n % i == 0:
               pf.append(__a )
               __lowercase					=int(n / i )
     if n > 2:
          pf.append(__a )
     return pf

def 				__UpperCamelCase							(	lowercase__						:  str ):






     '''simple docstring'''





     if n <= 0:
          raise ValueError('Only positive numbers are accepted' )
     __lowercase					=1
     __lowercase					=1
     while n % 2 == 0:
          temp += 1
          __lowercase					=int(n / 2 )
     div *= temp
     for i in range(3,					int(math.sqrt(__a ) ) + 1,					2 ):
          __lowercase					=1
          while n % i == 0:
               temp += 1
               __lowercase					=int(n / i )
          div *= temp
     if n > 1:
          div *= 2
     return div

def 				__UpperCamelCase							(	lowercase__						:  List[str] ):






     '''simple docstring'''





     if n <= 0:
          raise ValueError('Only positive numbers are accepted' )
     __lowercase					=1
     __lowercase					=1
     while n % 2 == 0:
          temp += 1
          __lowercase					=int(n / 2 )
     if temp > 1:
          s *= (2**temp - 1) / (2 - 1)
     for i in range(3,					int(math.sqrt(__a ) ) + 1,					2 ):
          __lowercase					=1
          while n % i == 0:
               temp += 1
               __lowercase					=int(n / i )
          if temp > 1:
               s *= (i**temp - 1) / (i - 1)
     return int(__a )

def 				__UpperCamelCase							(	lowercase__						:  Tuple ):






     '''simple docstring'''





     __lowercase					=n
     for x in set(prime_factors(__a ) ):
          s *= (x - 1) / x
     return int(__a )


if __name__ == "__main__":
       import doctest

       doctest.testmod()





'''simple docstring'''

from __future__ import annotations

from pathlib import Path

def 				__UpperCamelCase							(	lowercase__						:  tuple[int, int],					lowercase__						:  tuple[int, int] ):






     '''simple docstring'''





     return pointa[0] * pointa[1] - pointa[1] * pointa[0]

def 				__UpperCamelCase							(	lowercase__						:  int,					lowercase__						:  int,					lowercase__						:  int,					lowercase__						:  int,					lowercase__						:  int,					lowercase__						:  int ):






     '''simple docstring'''





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

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

def 				__UpperCamelCase							(	lowercase__						:  str = "p102_triangles.txt" ):






     '''simple docstring'''





     __lowercase					=Path(lowercase__ ).parent.joinpath(lowercase__ ).read_text(encoding='utf-8' )

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

     __lowercase					=0
     __lowercase					=42

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

     return ret


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


