'''simple docstring'''

_A			:      Any					      =				tuple[float, float, float]
_A			:      List[Any]					      =				tuple[float, float, float]







def      UpperCamelCase_						(					snake_case_       :       Pointad						,		snake_case_       :       Pointad      )					->     Vectorad:






 '''simple docstring'''

 __lowerCAmelCase											=						end_pointa[0] - end_pointa[0]
 __lowerCAmelCase											=						end_pointa[1] - end_pointa[1]
 __lowerCAmelCase											=						end_pointa[2] - end_pointa[2]
 return (x, y, z)







def      UpperCamelCase_						(					snake_case_       :       Vectorad						,		snake_case_       :       Vectorad      )					->     Vectorad:






 '''simple docstring'''

 __lowerCAmelCase											=						ab[1] * ac[2] - ab[2] * ac[1]  # *i
 __lowerCAmelCase											=						(ab[0] * ac[2] - ab[2] * ac[0]) * -1  # *j
 __lowerCAmelCase											=						ab[0] * ac[1] - ab[1] * ac[0]  # *k
 return (x, y, z)







def      UpperCamelCase_						(					snake_case_       :       Vectorad						,		snake_case_       :       int      )					->     bool:






 '''simple docstring'''

 return tuple(round(snake_case_						,		snake_case_      ) for x in vector      ) == (0, 0, 0)







def      UpperCamelCase_						(					snake_case_       :       Pointad						,		snake_case_       :       Pointad						,		snake_case_       :       Pointad						,		snake_case_       :       int = 10      )					->     bool:






 '''simple docstring'''

 __lowerCAmelCase											=						create_vector(snake_case_						,		snake_case_      )
 __lowerCAmelCase											=						create_vector(snake_case_						,		snake_case_      )
 return is_zero_vector(get_ad_vectors_cross(snake_case_						,		snake_case_      )						,		snake_case_      )







'''simple docstring'''

import re

from filelock import FileLock


try:
 import nltk

 _A			:      int					      =				True
except (ImportError, ModuleNotFoundError):
 _A			:      Optional[Any]					      =				False

if NLTK_AVAILABLE:
 with FileLock('''.lock''') as lock:
  nltk.download('''punkt''', quiet=True)







def      UpperCamelCase_						(					snake_case_       :       str      )					->     str:






 '''simple docstring'''

 re.sub("""<n>"""						,		""""""						,		snake_case_      )  # remove pegasus newline char
 assert NLTK_AVAILABLE, "nltk must be installed to separate newlines between sentences. (pip install nltk)"
 return "\n".join(nltk.sent_tokenize(snake_case_      )      )






