




from __future__ import annotations

from pathlib import Path


def 		_lowerCamelCase				(					UpperCamelCase					,     UpperCamelCase							)			->		int:





  """simple docstring"""





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


def 		_lowerCamelCase				(					UpperCamelCase					,     UpperCamelCase					,     UpperCamelCase					,     UpperCamelCase					,     UpperCamelCase					,     UpperCamelCase							)			->		bool:





  """simple docstring"""





  _lowercase: tuple[int, int]						     =    (xa, ya)
  _lowercase: tuple[int, int]						     =    (xa - xa, ya - ya)
  _lowercase: tuple[int, int]						     =    (xa - xa, ya - ya)
  _lowercase: float						     =    -vector_product(UpperCamelCase					,     UpperCamelCase							) / vector_product(
      UpperCamelCase					,     UpperCamelCase							)
  _lowercase: float						     =    +vector_product(UpperCamelCase					,     UpperCamelCase							) / vector_product(
      UpperCamelCase					,     UpperCamelCase							)

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


def 		_lowerCamelCase				(					UpperCamelCase = "p102_triangles.txt"							)			->		int:





  """simple docstring"""





  _lowercase: str						     =    Path(UpperCamelCase							).parent.joinpath(UpperCamelCase							).read_text(encoding='utf-8'							)

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

  _lowercase: int						     =    0
  _lowercase: list[int]

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

  return ret


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






import math


def 		_lowerCamelCase				(					UpperCamelCase							)			->		int:





  """simple docstring"""





  return sum(int(UpperCamelCase							) for digit in str(UpperCamelCase							)							)


def 		_lowerCamelCase				(					UpperCamelCase = 30							)			->		int:





  """simple docstring"""





  _lowercase: int						     =    []
  for digit in range(2					,     100							):
    for power in range(2					,     100							):
      _lowercase: int						     =    int(math.pow(UpperCamelCase					,     UpperCamelCase							)							)
      if digit == digit_sum(UpperCamelCase							):
        digit_to_powers.append(UpperCamelCase							)

  digit_to_powers.sort()
  return digit_to_powers[n - 1]


if __name__ == "__main__":
   print(solution())
